【收藏】本周ASP.NET英文技术文章推荐[11/26 - 12/02]
2007-10-30 10:47 Jacky_Xu 阅读(450) 评论(0) 编辑 收藏 举报提醒:若朋友们想对英文文章进行翻译,则首先需要征得原作者的同意,以免日后导致无谓的版权纷争。以下内容节选自《中华人民共和国著作权法》:
第十条 著作权包括下列人身权和财产权:
(一)发表权,即决定作品是否公之于众的权利;
(二)署名权,即表明作者身份,在作品上署名的权利;
(三)修改权,即修改或者授权他人修改作品的权利;
(四)保护作品完整权,即保护作品不受歪曲、篡改的权利;
(五)使用权和获得报酬权,即以复制、表演、播放、展览、发行、摄制电影、电视、录像或者改编、翻译、注释、编辑等方式使用作品的权利;以及许可他人以上述方式使用作品,并由此获得报酬的权利。第十二条 改编、翻译、注释、整理已有作品而产生的作品,其著作权由改编 、翻译、注释、整理人享有,但行使著作权时,不得侵犯原作品的著作权。
[0] 摘要
本期共有9篇文章:
- [1] ASP.NET中的强类型资源
- [2] 在Visual Studio Development Server以及Web Application Projects中创建子项目 3/3
- [3] ASP.NET案例分析:由ViewState造成的GC时的低性能、高内存使用以及高CPU占用率
- [4] ASP.NET中的O/R Mapping
- [5] 用JavaScript在基于Mozilla和IE的浏览器中画线
- [6] GridView的主题样式
- [7] 基于ASP.NET AJAX的网站展示
- [8] 3层Web应用程序中的双向数据绑定
- [9] 在ASP.NET 2.0中创建CSS友好的Web站点
[1] Strongly typed Resources in ASP.NET(ASP.NET中的强类型资源)
WinForm中的资源数据可以是强类型的——编译器会自动根据资源文件编译出一个辅助类来实现这个功能。而ASP.NET Web Site项目却没有这么幸运了。但ASP.NET Web Application Projects的出现似乎让我们看到了一些转机:相对于Web Site,ASP.NET Web Application Projects的编译模型更加“类似于”WinForm程序……
Rick Strahl确实是一个牛人,每一两天就会发出一片足够“重量级”的帖子,他似乎对所有的领域都非常感兴趣,且都有不错的理解。这篇文章则更是一个非常好的从发现问题到解决问题的示例。在为ASP.NET添加强类型资源的过程中,Rick Strahl逐步地分析问题,又一个个地解决,同样新问题也又不停地到来。这种钻研的精神、面对问题时思维的发散性,才是帖子所讲的技术背后最值得我们学习的东西。
[2] Part 3 of 3: Creating sub-projects using the Visual Studio Development Server and Web Application Projects(在Visual Studio Development Server以及Web Application Projects中创建子项目 3/3)
在开发大型的ASP.NET 2.0应用程序时,我们完全可以使用Web Application Projects在Visual Studio中将这个大型的项目分割成若干个小型项目,并相对独立地进行开发,以提高开发效率。
本篇就是介绍该特性的系列文章中的第三篇,也是最后一篇。文章写得浅显易懂,且配合了大量的插图,适合初学者学习。这个系列的三篇文章由微软公司Web工具开发团队的Group PM,Omar Khan书写,下面是Omar Khan在第一篇中对整个系列的介绍:
- Part 1 of 3: In this post, I’ll describe the basics on how to setup a sub-project structure using IIS.
- Part 2 of 3: The next post will describe intricacies with master pages, user controls, and project references when using a sub-project structure.
- Part 3 of 3: The final part to the series will describe how to use the same technique but with the built-in development server in Visual Studio 2005.
[3] ASP.NET Case Study: Bad perf, high memory usage and high CPU in GC - Death By ViewState(ASP.NET案例分析:由ViewState造成的GC时的低性能、高内存使用以及高CPU占用率)
这是一篇比较“有技术含量”的文章,作者Tess是微软公司的技术支持工程师,也是一个美女:-)。她的Blog也自然非常受欢迎(kidding),主要专注于性能、调试等内容。
在这篇文章中,Tess花费了很多的时间研究了ViewState对ASP.NET性能上的影响,特别是在大型、负载较重的情况下。Tess使用了包括察看dump文件等各种方式,最终找到了问题的所在。其中抽象问题、分析问题以及最后解决问题的步骤有条不紊,非常的理性。如果你能静下心来仔细随着Tess走完全程,相信一定会得到相当的启示的。
[4] Object Relational Mapping in ASP.NET 2.0(ASP.NET中的O/R Mapping)
O/R Mapping似乎已经成了当前数据持久化中不可或缺的最重要的一项技术,正是有了O/R Mapping,才将我们开发者从大量的重复或类似代码中解放出来,能够有时间专心于业务逻辑领域。
Stephen Rylander所写的这篇文章是一篇O/R Mapping的入门文章。通过实际项目开发中遇到的一个持久化问题,作者分析了O/R Mapping的应用范围、使用方式,并最终给出了解决方案。不过作者选择WilsonORMapper作为O/R Mapping的框架,并没有选择NHibernate,想必一定会有他的理由吧。
若你尚不了解什么是O/R Mapping,那么显然这篇文章将最适合你不过了!
[5] Drawing lines in Mozilla based browsers and the Internet Explorer(用JavaScript在基于Mozilla和IE的浏览器中画线)
这篇文章讨论了两个非常有意思的东西:
- GUI中的画线算法:如果你曾学习过,或是还记得《计算机图形学》这门课程,那么其中第一个重要的地方就是GUI上画直线的算法。看似简单,不就是一条直线么?不过需要考虑的问题却很多,包括实现柔和的线条、性能优化等各个方面。计算机图形学中使用倒了大量的算法知识进行优化,绝对是复习算法的绝好材料。如果你已经忘记了这部分内容,那么就让我们从这篇文章中拣起来吧!
- 用JavaScript在浏览器中画线:JavaScript在浏览器中画线?没错,就是这个!具体的实现方式就请朋友们耐心阅读吧,这里我先卖个关子。
虽然上面这两个问题都非常有意思,不过可能在实际开发中却很难用上。不管怎样,我还是执意要推荐一下,毕竟,扎实的算法功底才是程序员之根本!
[6] GridThemes(GridView的主题样式)
ASP.NET中的GridView控件功能非常强大,如果写书介绍的话,300也肯定没问题。但你有没有想过有一天为其应用更加强大的主题样式呢?例如左图这样的GridView,一定会让你的表格更加受客户的青睐吧!
本文是CodeProject上的GridThemes项目的介绍文章,该项目让我们能够通过自定义的主题样式文件,为GridView指定丰富的样式。最酷的一点是:在这个自定义主题样式文件中,我们甚至可以使用if-else之类的条件判断语句!这也正是左图中表格样式如此丰富的原因。
让我们看看它的一个样式文件的定义:
<Theme id=”ifs” title=”Working with If conditions”>
<DataRow>
<!-- display alternate columns with different background colors -->
<If test=’CellIndex % 2 == 0’>
<Apply backColor=’LightGray’ />
<ElseApply backColor=’White’ />
</If>
<!-- apply numeric formatting -->
<If test=’IsNumeric’ >
<Apply horizontalAlign=’Right’ />
<If test=’IsNegative’ >
<Apply foreColor=’Red’ />
</If>
</If>
</DataRow>
</Theme>
[7] Showcase of Sites Powered by ASP.NET AJAX(基于ASP.NET AJAX的网站展示)
Ajax.NET Professional的作者Michael Schwarz最近找到了两个基于ASP.NET AJAX(注意:不是他自己的Ajax.NET Professional)的网站:Quotiki和SmartScoreboard。于是Michael Schwarz分析了一下这两个网站使用ASP.NET AJAX所带来的网络传输量的减少。
当然,Michael Schwarz并没有太多的评论,一切都以事实数据说话,这也是一个专业人物专业的体现吧。不过只言片语中看得出来,Michael Schwarz还是对ASP.NET AJAX的性能问题颇有微词……
[8] Two-way data binding in 3-Tier web application(3层Web应用程序中的双向数据绑定)
数据绑定是所有ASP.NET开发者都熟悉的,不过可能很多朋友所熟悉的都是单向的,也就是从数据层到逻辑曾再到表示层。不过严格说来,“绑定”一词的定义就包含了“双向”的概念,这样说来,我们所应用的“绑定”其实根本就不算做绑定……
Eric Popivker的这篇文章讨论了典型的3层架构ASP.NET Web应用程序中双向数据绑定的实现方式。下面就是他在本文中示例程序的场景描述,可以看到,其中的一切步骤都是以“绑定”方式实现的,充分体现了“绑定”框架的强大功能:
- Load appropriate record from table Customer
- Bind customer record to Customer business object
- Bind Customer object properties to web control values
- User enters information into form and clicks on submit
- Bind updated web control values to Customer object
- Bind Customer object to a table record
- Save table record to table Customer
[9] Creating CSS Friendly Websites with ASP.NET 2.0(在ASP.NET 2.0中创建CSS友好的Web站点)
ASP.NET 2.0 CSS Friendly Control Adapters的发布确实为我们Web开发者解决了大量的ASP.NET 2.0中不符合Web标准的问题(请参考:创建符合标准的、有语意的HTML页面——ASP.NET 2.0 CSS Friendly Control Adapters 1.0发布)。本文就一步步地介绍了在项目中使用ASP.NET 2.0 CSS Friendly Control Adapters的方法,比起纯粹的示例程序或是设计文档,这样教程形式的文章或许更加易于接受。
如果你对ASP.NET 2.0 CSS Friendly Control Adapters还不甚了解,那么完全可以跟随着这篇文章进行入门。