.NET 点滴

1。Scott Guthrie的博客开始连载怎么在ASP.NET中使用LINQ

Using LINQ with ASP.NET (Part 1)
http://weblogs.asp.net/scottgu/archive/2006/05/14/446412.aspx

第一部分演示了怎么使用五月份LINQ技术预览版提供的LINQ ASP.NET Web Site Template模板(注意:其中使用的C#编译器是3.0),然后对C# 3.0中的新构造器,LINQ的各种Query操作,以及匿名类型做了示范。Scott将在以后演示如何使用DLINQ。

2。从.NET 1.1移植到.NET 2.0的常见问题解答

.NET 1.1 to .NET 2.0 Migration
http://blogs.msdn.com/peterlau/archive/2006/05/11/595294.aspx

3。[来源:frankarr ] 微软推出 Expression Web Designer 的预览版

http://www.microsoft.com/products/expression/en/web_designer/default.mspx

4。[来源:Bertrand Le Roy] 调试XmlHttp的酷工具

Tracing XmlHttp requests: an unobtrusive solution
http://weblogs.asp.net/bleroy/archive/2006/05/15/446532.aspx

5。 推荐Irena Kennedy的博客,她的<<开发人员须知系列>>提供了很多有用的技巧和编码

AppDev: Something You Should Know by Irena Kennedy
http://blogs.msdn.com/irenak/default.aspx

ADO.NET 3.0

微软推出了下一代数据访问技术的前景,这个技术将随着代号为Orcas的下一个.NET框架版本一起推出。主要技术是ADO.NET Entity Framework,由实体数据模型(Entity Data Model/EDM)以及一套设计时和运行时的服务组成,允许开发人员使用与业务应用相关的抽象来描述和操作数据,从而与底层的具体数据存储隔离。

这个实体的数据模型通过设计时的映射连接到具体的数据存储,然后开发人员可以通过一个Mapping Provider在这个实体的数据模型的层次做操作,而由Mapping Provider与具体的数据存储打交道,做需要的映射/转换等等。具体来说,开发人员通过eSQL(Entity SQL,基于SQL的扩展)来对实体的数据模型(EDM)做查询。

在这个上面,ADO.NET Entity Framework包括了一个对象服务,可以从EDM schema生成相应的.NET类,这些类是partial类,开发人员可以在另外的文件里添加跟业务有关的逻辑。这个 Entity Framework负责跟踪其中对象的状态变化,包括实体集合的成员变动,在SaveChanges时生成具体的SQL等。

最后,ADO.NET Entity Framework利用了LINQ技术,使开发人员不需要跟包含在字符串里的SQL语句打交道,而是直接与Entity Framework生成的实体类和集合打交道。

这个技术也包括了对普通以及强类DataSet做LINQ操作的支持。

说白了,ADO.NET Entity Framework就是微软自己的基于LINQ的O/R M框架。。。翘首以待,希望不久就能玩到这框架!

具体的细节参考

Microsoft Data blog
http://blogs.msdn.com/data/archive/2006/05/10/594771.aspx

Next-Generation Data Access: Making the Conceptual Level Real
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnadonet/html/nexgenda.asp

ADO.NET Tech Preview: Overview
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnadonet/html/adonetv3.asp

Channel9上有个ADO.NET产品组讨论ADO.NET 3.0的采访录像
http://channel9.msdn.com/Showpost.aspx?postid=191667

还有一个相关的screencast[来源:ADO.NET mapping screencast],用具体的编码演示ADO.NET 3.0的映射概念,以及怎么映射复杂类,继承等

http://datajunkies.net/screencasts/mapping1/mapping1.html

.NET 点滴

1。[来源:Scott Guthrie] ASP.NET 2.0 Providers的源码供下载了,很多人都报道这个消息了,这绝对是个好消息

http://download.microsoft.com/download/a/b/3/ab3c284b-dc9a-473d-b7e3-33bacfcc8e98/ProviderToolkitSamples.msi

如果你对Provider模型不熟,可以参考MSDN上的系列文章

Microsoft ASP.NET 2.0 Providers: Introduction
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/asp2prvdr01.asp

Jeff Prosise写的ASP.NET2.0 Provider Model: Introduction to the Provider Model
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/aspnetprovmod_intro.asp

2。Atlas开发组的Bertrand Le Roy对Atlas浏览器兼容层的解释
http://weblogs.asp.net/bleroy/archive/2006/04/13/442815.aspx

“。。。一般来说,使Javascript类库跨浏览器兼容有三种方式:

  • 每次调用时你都检查浏览器是否支持某些功能。这么做的话,所有新的编码都要考虑所有的浏览器,添加一个新的浏览器需要修改所有的编码库
  • 你写一个抽象层,建立另一套的API来抽象每个浏览器的具体API,跟其他两种方式相比,这种做法并不标准,因为你实际上是在现有的标准API和浏览器开发商自己的API之上又建立了一套新的非标准API。而且,这也使得编码调用路径更长了,因为每次API调用需要经过额外的函数调用,而且每次调用还必须检测浏览器是否支持
  • Atlas的做法,你扩展其他的浏览器使得所有的浏览器都拥有一致的API,这样,编码调用路径是最直接的,而且兼容层生成时,只要做一次浏览器检测。这个做法另外的好处是,你每次添加一个新的浏览器,只要写它的兼容层就可以了,而不需要碰实际使用的Javascript类库

。。。”

3。 袁峰大侠的Windows Graphics Programming经典著作重印版出来了

http://blogs.msdn.com/fyuan/archive/2006/04/15/576934.aspx

4。 Mikhail Arkhipov 开发了一个能检查拼法的Visual Studio add-on

Spell Checker for HTML and ASP.NET pages
http://blogs.msdn.com/mikhailarkhipov/archive/2006/04/17/577471.aspx

5。 英国的Phil Winstanley的新技术列单,要学的东西太多了,真是学不过来

New Technology Shopping List
http://weblogs.asp.net/Plip/archive/2006/04/16/443059.aspx

.NET 点滴

1。[来源:Delay’s Blog] ASP.NET/ATLAS产品组推出Atlas Control Toolkit以进一步简化开发AJAX应用

http://atlas.asp.net/default.aspx?tabid=47&subtabid=477

其中包括关联DropDownList,可收缩的Panel,确认按钮,可拖拉Panel,悬浮菜单,Popup控件,可排序列单,带水印的文字输入框,可切换按钮等9个控件。Atlas Control Toolkit示范页上还提供了怎么使用以及怎么生成类似控件的指导

2。 [来源:Harald Leitenmüller’s WebLog] Visual Studio 2005 Team System 在线培训资源

http://msdn.microsoft.com/vstudio/teamsystem/expand/

包括一系列的教学录像,webcast,技术文章

[来源:Sean McBreen’s WebLog] 另外这个页上的webcast示范了Team System的各种功能

Visual Studio Team System On-Demand Webcasts
http://msdn.microsoft.com/vstudio/teamsystem/community/webcasts/default.aspx

3。微软IIS7产品组的David Wang(这里有他和IIS7产品组的照片)教你怎么设置IIS来提供3000个并发连接来做类似server push的事情

HOWTO: Maximize the Number of Concurrent Connections to IIS6
http://blogs.msdn.com/david.wang/archive/2006/04/12/HOWTO_Maximize_the_Number_of_Concurrent_Connections_to_IIS6.aspx

4。苔丝又出手

如果你在多个应用里使用同个程序集,应该把程序集强名化后加到GAC里
ASP.NET Memory: You use the same dll in multiple applications, is it really necessary to load it multiple times?
http://blogs.msdn.com/tess/archive/2006/04/13/575357.aspx

强名程序集不该放在应用的bin目录里
ASP.NET: Strong named assemblies should not be stored in the bin directory
http://blogs.msdn.com/tess/archive/2006/04/13/575361.aspx

在生产环境下,别设置debug=true,否则问题多多
ASP.NET Memory: If your application is in production… then why is debug=true
http://blogs.msdn.com/tess/archive/2006/04/13/575364.aspx

应该设置

<configuration>
    <system.web>
          <deployment retail=”true”/>
    </system.web>
</configuration>

Scott Guthrie对此问题也写了专文,提到的问题包括编译时间变长,运行慢,消耗内存多,来从WebResources.axd的脚本/图片资源不被缓存等

Don’t run production ASP.NET Applications with debug=”true” enabled
http://weblogs.asp.net/scottgu/archive/2006/04/11/442448.aspx

5。Javascript rules?

大家都知道,AJAX运动的主角是Javascript,但仔细看一下,目前几大家的Gadget/Widget技术也都是基于Javascript的

微软Vista上的Sidebar:
Gadget Development Overview
http://microsoftgadgets.com/Sidebar/DevelopmentOverview.aspx

Google的Homepage API:
Google Homepage API Developer Guide
http://www.google.com/apis/homepage/guide.html

雅虎的Widgets:
Yahoo! Widget Engine Reference Guide
http://widgets.yahoo.com/workshop/

.NET 点滴

1。 [来源:Jesús Rodríguez] W3C发布针对XMLHttpRequest的工作草案

The XMLHttpRequest Object
http://www.w3.org/TR/2006/WD-XMLHttpRequest-20060405/

2。 [来源:Federal Developer Weblog] Internet Explorer Developer Toolbar

该套工具能帮助开发人员很快地生成网页,理解和排除网页的问题,功能包括,查看和改变网页的DOM模型,有选择地禁止Internet Explorer 设置/清除缓存和cookie,验证HTML/CSS/RSS等等

http://www.microsoft.com/downloads/details.aspx?FamilyID=e59c3964-672d-4511-bb3e-2d5e1db91038&DisplayLang=en

3。 对ASP.NET开发人员很有用的另外一个调试工具是Nikhil Kothari的Web Development Helper,能在单独的窗口查看请求/回复的URL/状态/时间,trace information以及 view state等

Web Development Helper
http://www.nikhilk.net/ASPNETDevHelperTool.aspx

4。 Sebastien St-Laurent的博客上贴出了《Practical .NET2 and C#2》一书的几个章节

An introduction to MSBuild
http://blogs.msdn.com/sebby1234/archive/2006/04/01/565084.aspx

C# 2.0 Nullable Types
http://blogs.msdn.com/sebby1234/archive/2006/04/03/565089.aspx

Writing C# 2.0 Unsafe Code
http://blogs.msdn.com/sebby1234/archive/2006/04/05/565090.aspx

Event programming with C#
http://blogs.msdn.com/sebby1234/archive/2006/04/07/565098.aspx

Chapter 5
http://blogs.msdn.com/sebby1234/archive/2006/04/09/565099.aspx

5。 如果你主管安全的话,那么下面这个玩意也许会让你睡不着觉的

Beyond Rootkits: World’s First Standalone Kernel Mode Bot?
http://www.emailbattles.com/archive/battles/virus_aaddcefedj_d/

Kernel Mode Ircbot
http://tibbar.blog.co.uk/2006/04/06/kernel_mode_IRCbot~708256

.NET 点滴

<

p dir=”ltr”>1。Scott Guthrie 博客上的 Pointers to Great ASP.NET Atlas Content

  • 他自己的AJAX风格的ToDo List,从创建数据库,使用TableAdapter的DAL层,建立一个可过滤,可排序,可分页,可编辑的任务列单
  • Brad Abrams(ASP.NET和Atlas组的主管,框架设计指南一书的作者之一)在Mix06上的骰子示范
  • Nikhil Kothari(Atlas架构师)的musicMix,集成了iTunes的RSS feeds, MSN搜索引擎的SOAP服务,Amazon的REST服务,使用Live Clipboard在应用间共享信息
  • Bertrand Le Roy(Atlas主要开发人员之一)的风琴控件
  • Jonathan Hawkins(Atlas组的项目经理)的国家公园map mashup
  • Scott Issacs(Windows Live架构师)在Mix06上谈开发Live.com的经验和教训

http://weblogs.asp.net/scottgu/archive/2006/03/29/441357.aspx

2。[来源:Paschal L] 基于AJAX的内容管理系统

http://www.impliedbydesign.com/micro-cms-content-management-demo.php

3。[来源:Brad Abrams] 在VS2005里调试JavaScript

http://atlas.asp.net/docs/Overview/debug.aspx

4。Comet: Beyond AJAX?是个Push模型,扩缩性会有问题吧,文中也提到Most commodity Web servers won’t cut it today,但原作者认为This stuff will scale, and most of the tools are in place already

http://www.irishdev.com/NewsArticle.aspx?id=2173

5。Harry Pierson的The Dual Schema Problem谈到Ruby on Rails的ActiveRecord在运行时从数据库里的Schema在OO对象上动态添加方法和属性(R->O),而Konstantin Knizhnik的Consus,一个object-relational database management system,则是从OO对象到数据库Schema(O->R)。他认为,虽然后者还有性能问题,但从长远的角度看,类似后者风格的模型将会成为主流

http://blogs.msdn.com/devhawk/archive/2006/03/28/563445.aspx

.NET 点滴

1。根据Scott Guthrie,MySpace.com每天的Page View量高达15亿,他们现在用的是ASP.NET 2.0和IIS6。移植到ASP.NET 2.0后,服务器的CPU平均利用率从85%下降到27%。

http://weblogs.asp.net/scottgu/archive/2006/03/25/441074.aspx

根据Media Metrix的统计,2月份访问量最高的6个网站为
Yahoo
MySpace
MSN
Ebay
Google
Hotmail

其中四个网站,MySpace,MSN,Ebay和Hotmail,用的是IIS和Windows。

注:在MySpace.com上还能看到.cfm(Cold Fusion)连接,在上面这个帖子里的回复中,该网站的技术人员澄清说,这是为了连接兼容,其背后采用的是BlueDragon.NET技术,该技术能让你在ASP.NET上运行Cold Fusion脚本。

2。Scott Guthrie博客上的几个跟Atlas有关的帖子

Drag and Drop ASP.NET 2.0 Web Parts in FireFox (with Atlas)
http://weblogs.asp.net/scottgu/archive/2006/03/24/441044.aspx

Atlas Presentation and Samples
http://weblogs.asp.net/scottgu/archive/2006/03/12/440068.aspx

Making a List, Checking it Twice (Cool Ajax Sample App with ASP.NET 2.0 and Atlas)
http://weblogs.asp.net/scottgu/archive/2005/12/26/433997.aspx

Paging through lots of data efficiently (and in an Ajax way) with ASP.NET 2.0
http://weblogs.asp.net/scottgu/archive/2006/01/01/434314.aspx

3。使用AJAX是为了改进用户与基于浏览器应用的交互以及提供良好的用户体验,目前一个很红的应用趋势是Mashup,整合多渠道的数据和内容,提供给用户一个集成的体验。常见的Mashups是Mapping Mashups和Video Mashups

在Mix06上微软有2个讲座讨论了AJAX架构和应用方面的问题,具体的内容,参考下面这个博客

Architecting and using ASP.NET “Atlas”
http://blogs.msdn.com/davbosch/archive/2006/03/24/560266.aspx

4。使用Atlas的虚拟地球地图控件构造美国国家公园的Mashup

Building a Mashup of National Parks using the Atlas Virtual Earth Map control
http://blogs.msdn.com/jhawk/archive/2006/03/26/561658.aspx

5。[来源: Scott Guthrie] ASP.NET RSS Toolkit,功能包括可用来显示RSS的RSS Data Source控件以及生成RSS的RSS HTTP handler

Awesome ASP.NET 2.0 RSS Tool-Kit Released
http://blogs.msdn.com/dmitryr/archive/2006/02/21/536552.aspx

.NET 点滴

1。Atlas三月份CTP版发布,文档同时大幅更新

http://atlas.asp.net/Default.aspx?tabid=47

atlas.asp.net上Scott Guthrie的Atlas演示录像非常值得一看

2。几个跟Web Parts有关的资源

动态添加webparts到Catalog zone
http://blogs.msdn.com/rahulso/archive/2006/03/18/554590.aspx

Thom Robbins的怎么使用webparts的两个录像
http://blogs.msdn.com/trobbins/archive/2006/03/18/554661.aspx

3。Paul Glavich的SecurePasswordTextBox控件,利用了System.Security.SecureString类来处理保密信息的输入

SecurePasswordTextBox – A textbox that uses the SecureString class
http://weblogs.asp.net/pglavich/archive/2006/02/26/439077.aspx

4。最近.NET博客间在流传Benji Smith去年9月在Joel on Software(Joel谈软件,Joel Spolsky,中文居然被翻译成周思博!)的论坛上写的《Why I Hate Frameworks》 (Evan Wang将其翻译成了中文)一文。该文对Java开发领域里满世界的框架做了一番调侃,确实很好玩。但觉得奇怪的是,.NET阵营与Java阵营间的距离真的是这么远么?Java那片树林里去年9月的声响到现在才传到.NET这边来?

5。Mix06上 Tim O’Reilly 与 Bill Gates 间有趣的对话
http://blogs.msdn.com/robburke/archive/2006/03/20/555626.aspx

…..
Tim: You have a history of knocking competitors out of the ring.  But new competition has a very different business model.  Google ads, Apple hardware+data, etc.  How do you see that changing the software business?
Bill: MS has done more to bring software prices down than any other company.  Free software doesn’t stand up in terms of integration, support, etc. 
Tim: Netscape…
Bill: There were a lot of these so-called fights where the other guy knocked himself out [laughter]
…..

.NET 点滴

1。Team Foundation Server 1.0 正式发布

根据Rob Caron,拥有 Team Suite(或角色Team Editions)的,不久就可以下载限为5个用户的Team Foundation Server Workgroup Edition

2。 [来源:Bertrand Le Roy]   Ruby.NET
由澳大利亚昆士兰技术大学教授Paul Roe主持的这个开源项目将开发针对CLR的Ruby语言编译器,计划生成100%的可校验CIL托管编码,将支持Ruby的核心类库和模块,预计今年年中推出alpha版本。

3。 [来源:Rob Caron] 新的MSDN Search

http://lab.msdn.microsoft.com/search/?query

现在搜寻范围包括MSDN论坛问题,CodeZone,以及MSDN Blogs

4。[来源:Dan Fernandez] 最近一期软件开发时报(SD Times)上Larry O’Brien的题为《One Language to Bind Them All》对C#/WinFX/LINQ的分析文章声称C#将是主宰.NET平台的编程语言(One Language To Rule Them All)。里面的插图设计很搞笑,注意,环上还刻了”C#”

5。好评如潮的《Practical .NET 2 and C#2》(Patrick Smacchia著)

http://www.practicaldot.net/en2/main.htm

根据评论,这本针对初级到中级开发人员的洋洋900页的书,对.NET 2.0的讨论不光详尽,而且深入浅出,中间还穿插了很多C#例码。在该书的网站上,可以下载到其中的四章书以及所有编码