.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 点滴

<

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。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]
…..

ASP.NET之火热

O’Reilly的创办人和CEO Tim O’Reilly在他的题为“ASP.Net on a Roll (ASP.NET 势如破竹)”的博客里说,”Based on book sales data, it looks like ASP.Net 2.0 is on fire (根据图书销量的统计数据,ASP.NET 2.0象是着了火一样)”,跟去年同期相比,跟ASP相关的图书的销量大增了53% (相比之下,JSP类的图书的销量下降了25%)。他也提到,微软与O’Reilly以及Dr. Dobb杂志合办的ASP.NET 2.0培训中心,旨在吸引PHP,JSP和Cold Fusion 开发人员。不过,由于AJAX的风起云涌,Javascript类的图书的销量增加了99%!一年前还没有Ruby on Rails,如今光一本书的市场就已经是PHP+ASP图书市场的1/6!他说,“Still, our numbers indicate a lot of enthusiasm for ASP 2.0 (但我们的统计数字表明,对ASP 2.0之热情极其高).”

.NET 点滴

0。 DotnetKicks.com – 形式类似digg.com,跟.NET有关的新闻/内容网站

http://dotnetkicks.com/

[来源: Episodes : Episode #4 – Life, the Universe, and Everything]

1。 ASP.NET 中文的教学录像

Channel9上,微软的kzhu贴了多个中文的课件,其中包括对VS2005设置文件,MasterPage, Webparts等的介绍

http://blogs.msdn.com/kzhu/default.aspx

2。 在ASP.NET 2.0中的Session状态的丢失

IE6中为减少跨站脚本攻击,引进了不让脚本使用的HttpOnly的cookie,也可能造成的效果是,通过脚本打开的窗口或使用AJAX时,因为Session cookie没有传回到服务器,造成新的Session 的生成,这就会造成不少人遇到的Session状态的丢失,下面这个blog提供了解决这个问题的一个方法

http://blogs.msdn.com/jorman/archive/2006/03/05/544119.aspx

下面这篇文章介绍了HTTP-only Cookies
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/httponly_cookies.asp

3。 微软,O’Reilly, Dr. Dobb’s杂志联合主办的ASP.NET 2.0培训中心

ASP.NET 2.0 Training Center: Cross Training for Web Developers
http://aspnet.cmp.com/

4。 Scott Mitchell的blog
http://www.scottonwriting.net/sowBlog/

Scott Mitchell以4GuysFromRolla.com为基地,写过无数ASP.NET方面的文章,让我们大家都受益非浅

这里是他在MSDN上文章的列单
http://msdn.microsoft.com/asp.net/community/authors/scottmitchell/default.aspx

5。 The Dark Side of File Uploads by Milan Negovan
http://www.aspnetresources.com/articles/dark_side_of_file_uploads.aspx

.NET 点滴

  1. ASP.NET 2.0 安全指南

来源: Clare Dillon, Dan Sellers

 微软ASP.NET 2.0安全组推出了关于APS.NET 2.0安全方面的教学资料,包括实验室,模块和录像,涉及的主题包括跨站脚本攻击(XSS),SQL注入攻击等。

主要推荐及指南

工作原理

安全工程

   Web应用安全工程: 内容包括web应用威胁建模,安全设计评审,安全编码评审,安全部署评审,首页在
http://msdn.microsoft.com/library/en-us/dnpag2/html/WebAppSecurityEngIndex.asp

  ASP.NET 2.0安全编码评审

备忘录 (Cheat Sheets): Web 应用安全威胁,攻击,薄弱环节, 攻防策略:
http://msdn.microsoft.com/library/en-us/dnpag2/html/PAGQuestionList0001.asp

ASP.NET 2.0安全指南索引
http://msdn.microsoft.com/library/en-us/dnpag2/html/ASPNET2SecurityGuidanceIndex.asp

  1. David Wang是微软IIS产品组的成员,在他的blog上回答了无数关于IIS的问题,讲解很详细,从中可以学到很多东西
    http://blogs.msdn.com/david.wang/default.aspx

  2. 如果你对.NET应用的性能,调试,内存泄露等感兴趣的话,这个blog真的是不可不读
    If broken it is, fix it you should: http://blogs.msdn.com/tess/

最新的一篇题为“ASP.NET性能案例研究:调用Web Service慢得要死”,她象侦探一样从dump文件里寻找蛛丝马迹,最后发现问题所在,读过之后感觉真长见识
http://blogs.msdn.com/tess/archive/2006/02/23/537681.aspx

  1. Ingo Rammer是《Advanced .NET Remoting》一书的作者,最近推出了基于Visual Studio 2005的Web Services Contract-First工具,目前的版本是0.6
    http://www.thinktecture.com/Resources/Software/WSContractFirst/default.html

主要特点

  • 对Visual Studio 2005与NET Framework 2.0 的完整支持
  • 能生成partial类
  • 对Nullable类型的支持
  • 对SOAP 1.2绑定的支持
  • 不强求Pascal case命名转换
  • 对SSL宿主的WSDL的编码生成支持的改进
  • 可配置?wsdl 参数以返回自定义的WSDL
  • 可配置生成不同风格的异步调用编码
  • 可配置生成改进过的数据绑定编码
  • 可配置生成List类型而不是通常的Collection类型
  • 一如既往–该工具是免费的!

5. 解决WPF程序的性能问题的实用方法
Solving WPF Performance Problems: Step 1
http://blogs.msdn.com/timothyc/archive/2006/02/28/540291.aspx

.NET 点滴

  1. ASP.NET之父Scott Guthrie的ASP.NET 2.0博客文章

最近几个月,Scott Guthrie的博客几乎每日更新,12月份29篇,1月份35篇,2月份至今已有26篇。他撰写/推荐了很多范例,涵盖了ASP.NET 2.0的方方面面。这一篇汇总了很多资源

http://weblogs.asp.net/scottgu/archive/2006/02/24/438953.aspx

这是从Robert Burke处抄来的清单

  • Getting Started with ASP.NET 2.0 Membership, Roles and Forms Authentication
  • ASP.NET 2.0 Membership and Role Management Overview Articles
  • Scott Mitchell’s: Examining ASP.NET 2.0’s Membership, Roles and Profile
  • Scott Allen’s: Membership Providers
  • Scott Allen’s: Role Providers (Part 2)
  • ASP.NET 2.0 Security, Membership and Role Management Book
  • Setting up Membership + Roles on a SQL 2000 or SQL 2005 Server
  • Custom Membership and Roles Providers
  • Storing Custom Properties about a User during Registration
  • How to Share Forms-Authentication Between ASP.NET V1.1 and ASP.NET V2.0 Apps
  • Forms Authentication Timeout Change
  • Building Secure ASP.NET Applications Guide
  • ASP.NET 2.0 Security How-To Listing

其中提到的Scott Allen的博客,很值得一读
http://odetocode.com/blogs/scott/default.aspx

  1. Jim Lamb的Team Foundation Server FAQ
    http://blogs.msdn.com/jimlamb/articles/tfsfaq.aspx

  2. GUI技术的选择

ASP.NET, Atlas, Windows Forms and WPF by Tim Sneath
http://blogs.msdn.com/tims/archive/2006/02/23/538189.aspx

  1. 以色列的MVP Roy Osherove对很多业界著名人士的采访录音,这些人士包括Kent Beck,David Platt,Juval Lowy等,最新一期的采访对象是新出版的《Behind Closed Doors : Secrets of Great Management(紧闭的房门后面–杰出管理的秘诀)》作者之一的Johanna Rothman

http://www.teamagile.com/mainpages/Interviews.html

  1. Pro ASP.NET 2.0》作者之一的Scott Hanselman的podcast,讨论编程工具,提供实用指导,讨论ASP.NET或Windows中的问题以及解决方案等

http://www.hanselminutes.com/

还可以更简单么?

Jesse Liberty等著的《Programming ASP.NET》一书中说,

“….One of the most significant improvements to ASP.NET 2.0 is its intuitive nature. In fact, when compared to its predecessor, ASP.NET 2.0 reduces the amount of code you have to write by about 75%. Creating interactive web applications has never been easier-but that still doesn’t mean it’s hassle-free! The difficulty in ASP.NET 2.0 is that it’s so complete and flexible that there are many pieces that must be woven together to build a robust, scalable, and efficient application.(ASP.NET 2.0 中一个最主要的改进是其直观的本质,实际上,跟前一版本相比,ASP.NET 2.0把你所需写的编码量减少了75%。创建交互性的web应用从没这么简单过—但那并不意味着万事顺利了。ASP.NET 2.0的困难在于,它是如此的齐备,灵活,为了建立一个强壮,扩缩性好的,效率高的应用,需要把很多部件编织在一起)…”

就是说,你需要学的东西还是很多,所以你应该买这本书。。。当然这是广告而已

但在过去一年内,Ruby on Rails象春天的野火一样越烧越旺,虽然它们还有其他的优点,但最大的卖点应该就是它们极大地简化了数据库驱动的web应用的开发

虽然目前.NET中的语言还不具备象动态语言Ruby那样的特征,但看一下ASP.NET 2.0中的新的编译模型中的Build Providers,譬如参考我们敬爱的Dino Esposito在MSDN上的专栏,

Build Providers
http://msdn.microsoft.com/msdnmag/issues/06/02/CuttingEdge/default.aspx

还有类似下面的
DLINQ ASP.NET Build Provider and DLINQ DataSource
http://weblogs.asp.net/aaguiar/archive/2005/12/14/433143.aspx

通过编码生成,在当前ASP.NET架构内建立一个简化数据库驱动的web应用的框架会很难么?

Castle 项目里有个MonoRail,有点类似,虽然这里并不想讨论它的优缺点,但它从一开始就偏离了ASP.NET中的WebForms模型,有点“脱离了广大群众”的味道,,是否能为大家接受还需要时间来证明。

另外,Java中有个Trails项目也可供参考
https://trails.dev.java.net/

.NET Pet Shop 4

MSDN推出了.NET Pet Shop 4,是基于ASP.NET 2.0的,该版本有了一个全新的用户界面。

由于采用了Master Pages,Membership,以及Profile,表现层的编码量减少了25%,数据层的编码量减少了36%。

他们利用了Project Conversion Wizard把项目从ASP.NET 1.1移植到了ASP.NET 2.0,然后做了以下改动:
1。用System.Transactions代替了原来的Serviced Components提供的事务功能
2。用强类型的范型集合代替了原来的弱类型集合
3。采用ASP.NET 2.0 Membership来做认证和授权
4。创建了针对Oracle 10g的Custom  ASP.NET 2.0 Membership Provider
5。利用ASP.NET 2.0的Custom Oracle 和 SQL Server Profile Providers 做用户状态管理,包括购物车等
6。采用了Master Pages,取代了原来的用户控件,来实现统一的界面效果
7。使用了ASP.NET 2.0 Wizard控件实现check-out
8。使用了SqlCacheDependency来实现数据库层次的缓存更新(cache invalidation)功能
9。使用了消息队列来实现异时订单处理

这个新的版本,示范了很多ASP.NET 2.0里的新功能,值得研究一下。

参考
.NET Pet Shop 4: Migrating an ASP.NET 1.1 Application to 2.0