您的位置:首页 > 移动开发

书评 -- Programming Microsoft ASP.NET 2.0 Application Advanced Topics

2008-04-09 01:06 501 查看
.NET 2.0 在去年底(2005 年)风光上市,就笔者来看,最大的新增在 Team System 架构,与丰富了 ASP.NET 的开发功能。而对广大的使用者来说,无疑是 ASP.NET 2.0 最让人兴奋。Web 应用程序开发的新页章ASP.NET 2.0 改良 1.x 版的设计,让 Web 应用程序的开发架构变得更有弹性,例如:l           开发项目(project)以档案和目录为单位,不由项目文件启动。利用临时的 Web 服务执行测试,在开发环境免掉了 IIS(Internet Information Services)服务。l           使用免费的 SQL Server Express 版本数据库伺服程序,搭配自动建立的数据库档案,以存放各种服务的中继数据。l           透过各种设定管理的工具,简化 web.config 和 machine.config 等设定档的管理。l           经由各种档案独立且自动化的编译,让开发环境所提供的 IntelliSense功能更聪明,部署个别网页更为简单,不会因为一两个网页,坏了整个网站的编译。l           提供数量倍增的控件(control)。l           ...种种设计,让开发者的环境需求较为轻便。而内建丰富的功能,让你我透过点选、拖曳就可以完成大部份的基础工作。Web 应用程序在企业内越来越风行,随着信息教育普及,员工倚赖 IT 辅助日深,各种客制化小系统如雨后春笋遍布在企业内。虽然系统需求各异,但有许多共通的基本功能很重要,做起来却麻烦。例如使用者账号管理、登入、授权与加密,个人化网页,浏览路径导览,一致性的网页设计风格...等。ASP.NET 2.0 内建这些功能,并透过预设的 Provider,将实做这些功能所需之管理信息存放到自动建立的 SQL Express 数据库内。开发人员仅靠设定就可以替网站系统完成大部分的基础设施。ASP.NET 2.0 除了提供很多新的内容,也改善了旧技术,例如 Web Part。新的 Web Part 技术在 ASP.NET 2.0 网页中,搭配预设的个人化功能,可以让使用者随意布置网站版面,而开发者却不需要花费什么功夫。但这与以往透过 Visual Studio 2003 搭配额外下载的 Web Part 模板,开发在 Windows 2003 SharePoint Services(WSS) 使用的 Web Part 并不相同。或许在下一版的 WSS 中,将会全面采用 ASP.NET 2.0 的架构。快速拼装的快餐系统「FrontPage 出现后,全世界产生了几百万张丑网页」曾在美国的大型研讨会听演讲者这么说,主讲人是希望藉此提醒基础知识的重要。笔者赞同深入技术的必要,但另一方面来说,FrontPage 让人们敢于尝试建立网页也功不可没,毕竟要跨出第一步最难。就曾经拜访过的企业,不知多少小网站是起自于 FrontPage,而后若该系统变得重要,再重新思考网站的定位,与进一步采用更专业地开发设计流程。而非技术人员用 FrontPage 愉悦地在网络上建立出自己的首页,更丰富了整个 Web 世界。我相信 ASP.NET 2.0 所提供的各式服务,如 membership、role management、profile、web part personalization、site map...等,再加上一大堆的控件,将会让企业内,部门级的网站系统开发更为相像。就像 Visual Basic 所造就的 Windows Form 充斥,或如上述,透过 FrontPage 来建立的初级网站林立。今后用 Visual Studio 所快速开发的 ASP.NET 网站也将随处可见,且都大同小异。笔者在授课时,与学员的互动中可感受到,大家惊艳于 ASP.NET 2.0 大幅简化了基础功能的开发,但又惧怕日后需求变易时,难于驾驭。大堆头的功能越多,越容易拼装上阵。一旦用上了,要修改得精细合身却又不易。且下层绑定运作的机制必定复杂,非一时三刻可以搞懂。就好像骑脚踏车时,若有问题还可能自己维护。但汽车抛锚时,修理它会让你我却步。但,行远路时,你要开车还是骑脚踏车呢?登堂入室若你已玩过一阵 ASP.NET 2.0,在此介绍一本关于该技术的好书:Programming Microsoft ASP.NET 2.0 Application Advanced Topics。这不是入门书,它未曾介绍如何无中生有建立一个 ASP.NET 网站,或一步步说明如何使用 Visual Studio 2005 开发工具,乃至于 C# 语法解说...等等。简言之,满是字,很少图。就作者 Dino Esposito 的规划,若你是刚入门者,可能他的另外一本书 Programming Microsoft ASP.NET 2.0 Core Reference 比较适合。但依笔者来看,还是到坊间找中文书比较便宜,原文书太贵了L这本书着重解释基础机制的运作原理,例如:各种程序代码、定义、资源等不同档案的配置、动态编译、加载与释放,Handler 与 Module 的设计,异步执行网页的方式,自行撰写控件等。其功用比较像是工具书,让你在实做较为艰深的功能时可以参考专章。或是查阅一些细部的设定,例如透过第三章 ASP.NET Configuration 寻找繁多的 machine.config 或 web.config 等设定之格式与意义。第四章的Building Custom ASP.NET Providers 是要深入了解 ASP.NET 2.0 的一个重点,Provider Model[1] 应该是此版最值得研究的架构之一。其它的技术,如动态编译与加载、Handler 与 Module、Web User Control 和 Custom ASP.NET Control...等,在本书虽都有深入的探讨,但毕竟它们自 ASP.NET 1.0 始就已经存在,2.0 对这些部份算是小幅改良。提供建置网站的程序基础架构时,如何能让开发者自由扩充是最难的项目。由于各企业多存在行之有年的数据结构与商业逻辑,如何让新建立的网站可以套用旧的资料,尽量保有以往对信息技术的投资。例如,旧的会员数据库已经存在,但如何让新撰写的 ASP.NET 2.0 网站可以使用到该数据库来认证会员身份,使用个人数据(profile)。抑或是网站导览的数据结构早已存在旧网站中,又如何让新的 SiteMapPath 或 TreeView、Menu 与 SiteMapDatSource 等控件与旧数据结合,好在以新技术撰写的网页中提供整合的网站导览。ASP.NET 2.0 针对上述问题的解法是 Provider Model。模型最具威力的地方就是从繁琐的表征中,抽象出核心运作之原理,在提纲挈领描绘出骨干后,你可以将相同的经验类推到各种功能开发中。就笔者来看,Provider 对 Design Pattern,对象导向分析、设计与撰写,组件化重用等方面,都做了绝佳的示范[2]。ASP.NET 2.0 这次新增的 membership、site maps、profile...等服务,都依照 Provider Model 的精神实做,也就是提供四个层次的架构:l           与使用者互动的控件(UI)l           标准的程序存取接口(API)l           存取数据提供者(Provider)l           实体中继数据结构在每一层,ASP.NET 2.0 都提供了直接可用的对象。但你仍可依自己的需要,随意置换某个服务任一层的组件,而其它层的既有架构照旧使用。除了上述内容之外,本书对于一些越来越热门的主题,例如 Ajax 和微软未来的 Atlas,或是为行动装置开发网页,作者都稍有着墨,但并未深入探讨。阅读建议再次强调,此书不是入门书。若你是 ASP.NET 2.0 的生手,但某些场合让你亲炙了许多 ASP.NET 2.0 炫丽的功能,例如很酷的控件、Master-Content 网页的设计,Theme 与 Skin 的套用、整合自身与 Reporting Services 的报表...等,这些都在前述作者的另一本书内,本书并不适合你。当你需要深入了解 ASP.NET 2.0 的基础原理,架构较为大型的网站,并希望重复使用自己曾经开发的模块或组件时,此书所讨论的主题:如 Handler 和 Module、自订 Provider、自订控件等,就很值得你深究。建议你先看完第一、四、七、十章,分别了解 ASP.NET 2.0 的档案配置与编译、提供各种服务的 Provider Pattern、Web Part架构,以及 site navigation 等技术。因为相较于其它内容,这四章或许会比较快用到J。其它的章节稍做浏览,让你往后钻研进阶功能时,知道在哪可以找到资源。本书的范例很多,且彼此独立,在翻阅各章内容时,可以同时执行一下范例程序,先了解功能为何,是否吸引你进一步深研该章节。不过,由于一些应用程序的基本设定可能与你的系统环境不合,因此,若不熟悉 ASP.NET 2.0 的设定与执行, SQL Server 数据库联机的方式,基本的 C# 语言,则可能很多范例执行起来会有问题L相关阅读ASP.NET 的中文书籍向来是许多作者的最爱,你可以驻足书店,寻找自己喜欢的风格。在此,笔者仅建议你逛逛以下的网站:l           MSDN:http://msdn.microsoft.com/asp.net/。微软技术的大本营不可不去J,对于初学者而言,以下的内容蛮不错的: http://msdn.microsoft.com/asp.net/learning/learn/newtodevelopment/default.aspx而 MSDN 为本书作者 Dino Esposito 提供的网页如下:http://msdn.microsoft.com/asp.net/community/authors/dinoesposito/default.aspxl           http://www.gotdotnet.com/ 分门别类地整理相关技术,而官方的讨论区也有相当丰富的内容 http://forums.microsoft.com/MSDN/default.aspx?SiteID=1 l           当然,恒逸讲师群所努力充实的 .NET Magazine 网站也可让你获益良多:http://www.netmag.com.tw@书名:Programming Microsoft ASP.NET 2.0 Application Advanced Topics@Dino Esposito 着 @Microsoft Press@售价:1650 元 
[1]相關資料可參閱 MSDN 所提供的說明與原始碼範例, http://msdn.microsoft.com/asp.net/downloads/providers/。ASP.NET 2.0 內建的各種服務,其預設的資料儲存區都是 SQL Server,在此網址有提供 C# 原始碼,實做各種 provider 存取放在 Access/Jet 資料庫內的中繼資料。或許使用哪種 DB 格式並不重要,但一窺各種 Provider 的 C# 原始碼,卻是練功的好方法J[2] 就筆者自己的感覺,它示範了 Factory、Adapter、Façade 等 design pattern。同時,ODBC、OLE DB、ADO.NET 似乎早已使用了這種設計方式,你可看到大家用的都是 driver、provider、adapter 等字樣J。不過,將各種 Web 網站服務的開發架構標準化,雖不是新想法,但的確是值得鼓勵與學習的新技術。 


.NET 2.0 在去年底(2005 年)风光上市,就笔者来看,最大的新增在 Team System 架构,与丰富了 ASP.NET 的开发功能。而对广大的使用者来说,无疑是 ASP.NET 2.0 最让人兴奋。Web 应用程序开发的新页章ASP.NET 2.0 改良 1.x 版的设计,让 Web 应用程序的开发架构变得更有弹性,例如:l           开发项目(project)以档案和目录为单位,不由项目文件启动。利用临时的 Web 服务执行测试,在开发环境免掉了 IIS(Internet Information Services)服务。l           使用免费的 SQL Server Express 版本数据库伺服程序,搭配自动建立的数据库档案,以存放各种服务的中继数据。l           透过各种设定管理的工具,简化 web.config 和 machine.config 等设定档的管理。l           经由各种档案独立且自动化的编译,让开发环境所提供的 IntelliSense功能更聪明,部署个别网页更为简单,不会因为一两个网页,坏了整个网站的编译。l           提供数量倍增的控件(control)。l           ...种种设计,让开发者的环境需求较为轻便。而内建丰富的功能,让你我透过点选、拖曳就可以完成大部份的基础工作。Web 应用程序在企业内越来越风行,随着信息教育普及,员工倚赖 IT 辅助日深,各种客制化小系统如雨后春笋遍布在企业内。虽然系统需求各异,但有许多共通的基本功能很重要,做起来却麻烦。例如使用者账号管理、登入、授权与加密,个人化网页,浏览路径导览,一致性的网页设计风格...等。ASP.NET 2.0 内建这些功能,并透过预设的 Provider,将实做这些功能所需之管理信息存放到自动建立的 SQL Express 数据库内。开发人员仅靠设定就可以替网站系统完成大部分的基础设施。ASP.NET 2.0 除了提供很多新的内容,也改善了旧技术,例如 Web Part。新的 Web Part 技术在 ASP.NET 2.0 网页中,搭配预设的个人化功能,可以让使用者随意布置网站版面,而开发者却不需要花费什么功夫。但这与以往透过 Visual Studio 2003 搭配额外下载的 Web Part 模板,开发在 Windows 2003 SharePoint Services(WSS) 使用的 Web Part 并不相同。或许在下一版的 WSS 中,将会全面采用 ASP.NET 2.0 的架构。快速拼装的快餐系统「FrontPage 出现后,全世界产生了几百万张丑网页」曾在美国的大型研讨会听演讲者这么说,主讲人是希望藉此提醒基础知识的重要。笔者赞同深入技术的必要,但另一方面来说,FrontPage 让人们敢于尝试建立网页也功不可没,毕竟要跨出第一步最难。就曾经拜访过的企业,不知多少小网站是起自于 FrontPage,而后若该系统变得重要,再重新思考网站的定位,与进一步采用更专业地开发设计流程。而非技术人员用 FrontPage 愉悦地在网络上建立出自己的首页,更丰富了整个 Web 世界。我相信 ASP.NET 2.0 所提供的各式服务,如 membership、role management、profile、web part personalization、site map...等,再加上一大堆的控件,将会让企业内,部门级的网站系统开发更为相像。就像 Visual Basic 所造就的 Windows Form 充斥,或如上述,透过 FrontPage 来建立的初级网站林立。今后用 Visual Studio 所快速开发的 ASP.NET 网站也将随处可见,且都大同小异。笔者在授课时,与学员的互动中可感受到,大家惊艳于 ASP.NET 2.0 大幅简化了基础功能的开发,但又惧怕日后需求变易时,难于驾驭。大堆头的功能越多,越容易拼装上阵。一旦用上了,要修改得精细合身却又不易。且下层绑定运作的机制必定复杂,非一时三刻可以搞懂。就好像骑脚踏车时,若有问题还可能自己维护。但汽车抛锚时,修理它会让你我却步。但,行远路时,你要开车还是骑脚踏车呢?登堂入室若你已玩过一阵 ASP.NET 2.0,在此介绍一本关于该技术的好书:Programming Microsoft ASP.NET 2.0 Application Advanced Topics。这不是入门书,它未曾介绍如何无中生有建立一个 ASP.NET 网站,或一步步说明如何使用 Visual Studio 2005 开发工具,乃至于 C# 语法解说...等等。简言之,满是字,很少图。就作者 Dino Esposito 的规划,若你是刚入门者,可能他的另外一本书 Programming Microsoft ASP.NET 2.0 Core Reference 比较适合。但依笔者来看,还是到坊间找中文书比较便宜,原文书太贵了L这本书着重解释基础机制的运作原理,例如:各种程序代码、定义、资源等不同档案的配置、动态编译、加载与释放,Handler 与 Module 的设计,异步执行网页的方式,自行撰写控件等。其功用比较像是工具书,让你在实做较为艰深的功能时可以参考专章。或是查阅一些细部的设定,例如透过第三章 ASP.NET Configuration 寻找繁多的 machine.config 或 web.config 等设定之格式与意义。第四章的Building Custom ASP.NET Providers 是要深入了解 ASP.NET 2.0 的一个重点,Provider Model[1] 应该是此版最值得研究的架构之一。其它的技术,如动态编译与加载、Handler 与 Module、Web User Control 和 Custom ASP.NET Control...等,在本书虽都有深入的探讨,但毕竟它们自 ASP.NET 1.0 始就已经存在,2.0 对这些部份算是小幅改良。提供建置网站的程序基础架构时,如何能让开发者自由扩充是最难的项目。由于各企业多存在行之有年的数据结构与商业逻辑,如何让新建立的网站可以套用旧的资料,尽量保有以往对信息技术的投资。例如,旧的会员数据库已经存在,但如何让新撰写的 ASP.NET 2.0 网站可以使用到该数据库来认证会员身份,使用个人数据(profile)。抑或是网站导览的数据结构早已存在旧网站中,又如何让新的 SiteMapPath 或 TreeView、Menu 与 SiteMapDatSource 等控件与旧数据结合,好在以新技术撰写的网页中提供整合的网站导览。ASP.NET 2.0 针对上述问题的解法是 Provider Model。模型最具威力的地方就是从繁琐的表征中,抽象出核心运作之原理,在提纲挈领描绘出骨干后,你可以将相同的经验类推到各种功能开发中。就笔者来看,Provider 对 Design Pattern,对象导向分析、设计与撰写,组件化重用等方面,都做了绝佳的示范[2]。ASP.NET 2.0 这次新增的 membership、site maps、profile...等服务,都依照 Provider Model 的精神实做,也就是提供四个层次的架构:l           与使用者互动的控件(UI)l           标准的程序存取接口(API)l           存取数据提供者(Provider)l           实体中继数据结构在每一层,ASP.NET 2.0 都提供了直接可用的对象。但你仍可依自己的需要,随意置换某个服务任一层的组件,而其它层的既有架构照旧使用。除了上述内容之外,本书对于一些越来越热门的主题,例如 Ajax 和微软未来的 Atlas,或是为行动装置开发网页,作者都稍有着墨,但并未深入探讨。阅读建议再次强调,此书不是入门书。若你是 ASP.NET 2.0 的生手,但某些场合让你亲炙了许多 ASP.NET 2.0 炫丽的功能,例如很酷的控件、Master-Content 网页的设计,Theme 与 Skin 的套用、整合自身与 Reporting Services 的报表...等,这些都在前述作者的另一本书内,本书并不适合你。当你需要深入了解 ASP.NET 2.0 的基础原理,架构较为大型的网站,并希望重复使用自己曾经开发的模块或组件时,此书所讨论的主题:如 Handler 和 Module、自订 Provider、自订控件等,就很值得你深究。建议你先看完第一、四、七、十章,分别了解 ASP.NET 2.0 的档案配置与编译、提供各种服务的 Provider Pattern、Web Part架构,以及 site navigation 等技术。因为相较于其它内容,这四章或许会比较快用到J。其它的章节稍做浏览,让你往后钻研进阶功能时,知道在哪可以找到资源。本书的范例很多,且彼此独立,在翻阅各章内容时,可以同时执行一下范例程序,先了解功能为何,是否吸引你进一步深研该章节。不过,由于一些应用程序的基本设定可能与你的系统环境不合,因此,若不熟悉 ASP.NET 2.0 的设定与执行, SQL Server 数据库联机的方式,基本的 C# 语言,则可能很多范例执行起来会有问题L相关阅读ASP.NET 的中文书籍向来是许多作者的最爱,你可以驻足书店,寻找自己喜欢的风格。在此,笔者仅建议你逛逛以下的网站:l           MSDN:http://msdn.microsoft.com/asp.net/。微软技术的大本营不可不去J,对于初学者而言,以下的内容蛮不错的: http://msdn.microsoft.com/asp.net/learning/learn/newtodevelopment/default.aspx而 MSDN 为本书作者 Dino Esposito 提供的网页如下:http://msdn.microsoft.com/asp.net/community/authors/dinoesposito/default.aspxl           http://www.gotdotnet.com/ 分门别类地整理相关技术,而官方的讨论区也有相当丰富的内容 http://forums.microsoft.com/MSDN/default.aspx?SiteID=1 l           当然,恒逸讲师群所努力充实的 .NET Magazine 网站也可让你获益良多:http://www.netmag.com.tw@书名:Programming Microsoft ASP.NET 2.0 Application Advanced Topics@Dino Esposito 着 @Microsoft Press@售价:1650 元 
[1]相關資料可參閱 MSDN 所提供的說明與原始碼範例, http://msdn.microsoft.com/asp.net/downloads/providers/。ASP.NET 2.0 內建的各種服務,其預設的資料儲存區都是 SQL Server,在此網址有提供 C# 原始碼,實做各種 provider 存取放在 Access/Jet 資料庫內的中繼資料。或許使用哪種 DB 格式並不重要,但一窺各種 Provider 的 C# 原始碼,卻是練功的好方法J[2] 就筆者自己的感覺,它示範了 Factory、Adapter、Façade 等 design pattern。同時,ODBC、OLE DB、ADO.NET 似乎早已使用了這種設計方式,你可看到大家用的都是 driver、provider、adapter 等字樣J。不過,將各種 Web 網站服務的開發架構標準化,雖不是新想法,但的確是值得鼓勵與學習的新技術。 


.NET 2.0 在去年底(2005 年)风光上市,就笔者来看,最大的新增在 Team System 架构,与丰富了 ASP.NET 的开发功能。而对广大的使用者来说,无疑是 ASP.NET 2.0 最让人兴奋。Web 应用程序开发的新页章ASP.NET 2.0 改良 1.x 版的设计,让 Web 应用程序的开发架构变得更有弹性,例如:l           开发项目(project)以档案和目录为单位,不由项目文件启动。利用临时的 Web 服务执行测试,在开发环境免掉了 IIS(Internet Information Services)服务。l           使用免费的 SQL Server Express 版本数据库伺服程序,搭配自动建立的数据库档案,以存放各种服务的中继数据。l           透过各种设定管理的工具,简化 web.config 和 machine.config 等设定档的管理。l           经由各种档案独立且自动化的编译,让开发环境所提供的 IntelliSense功能更聪明,部署个别网页更为简单,不会因为一两个网页,坏了整个网站的编译。l           提供数量倍增的控件(control)。l           ...种种设计,让开发者的环境需求较为轻便。而内建丰富的功能,让你我透过点选、拖曳就可以完成大部份的基础工作。Web 应用程序在企业内越来越风行,随着信息教育普及,员工倚赖 IT 辅助日深,各种客制化小系统如雨后春笋遍布在企业内。虽然系统需求各异,但有许多共通的基本功能很重要,做起来却麻烦。例如使用者账号管理、登入、授权与加密,个人化网页,浏览路径导览,一致性的网页设计风格...等。ASP.NET 2.0 内建这些功能,并透过预设的 Provider,将实做这些功能所需之管理信息存放到自动建立的 SQL Express 数据库内。开发人员仅靠设定就可以替网站系统完成大部分的基础设施。ASP.NET 2.0 除了提供很多新的内容,也改善了旧技术,例如 Web Part。新的 Web Part 技术在 ASP.NET 2.0 网页中,搭配预设的个人化功能,可以让使用者随意布置网站版面,而开发者却不需要花费什么功夫。但这与以往透过 Visual Studio 2003 搭配额外下载的 Web Part 模板,开发在 Windows 2003 SharePoint Services(WSS) 使用的 Web Part 并不相同。或许在下一版的 WSS 中,将会全面采用 ASP.NET 2.0 的架构。快速拼装的快餐系统「FrontPage 出现后,全世界产生了几百万张丑网页」曾在美国的大型研讨会听演讲者这么说,主讲人是希望藉此提醒基础知识的重要。笔者赞同深入技术的必要,但另一方面来说,FrontPage 让人们敢于尝试建立网页也功不可没,毕竟要跨出第一步最难。就曾经拜访过的企业,不知多少小网站是起自于 FrontPage,而后若该系统变得重要,再重新思考网站的定位,与进一步采用更专业地开发设计流程。而非技术人员用 FrontPage 愉悦地在网络上建立出自己的首页,更丰富了整个 Web 世界。我相信 ASP.NET 2.0 所提供的各式服务,如 membership、role management、profile、web part personalization、site map...等,再加上一大堆的控件,将会让企业内,部门级的网站系统开发更为相像。就像 Visual Basic 所造就的 Windows Form 充斥,或如上述,透过 FrontPage 来建立的初级网站林立。今后用 Visual Studio 所快速开发的 ASP.NET 网站也将随处可见,且都大同小异。笔者在授课时,与学员的互动中可感受到,大家惊艳于 ASP.NET 2.0 大幅简化了基础功能的开发,但又惧怕日后需求变易时,难于驾驭。大堆头的功能越多,越容易拼装上阵。一旦用上了,要修改得精细合身却又不易。且下层绑定运作的机制必定复杂,非一时三刻可以搞懂。就好像骑脚踏车时,若有问题还可能自己维护。但汽车抛锚时,修理它会让你我却步。但,行远路时,你要开车还是骑脚踏车呢?登堂入室若你已玩过一阵 ASP.NET 2.0,在此介绍一本关于该技术的好书:Programming Microsoft ASP.NET 2.0 Application Advanced Topics。这不是入门书,它未曾介绍如何无中生有建立一个 ASP.NET 网站,或一步步说明如何使用 Visual Studio 2005 开发工具,乃至于 C# 语法解说...等等。简言之,满是字,很少图。就作者 Dino Esposito 的规划,若你是刚入门者,可能他的另外一本书 Programming Microsoft ASP.NET 2.0 Core Reference 比较适合。但依笔者来看,还是到坊间找中文书比较便宜,原文书太贵了L这本书着重解释基础机制的运作原理,例如:各种程序代码、定义、资源等不同档案的配置、动态编译、加载与释放,Handler 与 Module 的设计,异步执行网页的方式,自行撰写控件等。其功用比较像是工具书,让你在实做较为艰深的功能时可以参考专章。或是查阅一些细部的设定,例如透过第三章 ASP.NET Configuration 寻找繁多的 machine.config 或 web.config 等设定之格式与意义。第四章的Building Custom ASP.NET Providers 是要深入了解 ASP.NET 2.0 的一个重点,Provider Model[1] 应该是此版最值得研究的架构之一。其它的技术,如动态编译与加载、Handler 与 Module、Web User Control 和 Custom ASP.NET Control...等,在本书虽都有深入的探讨,但毕竟它们自 ASP.NET 1.0 始就已经存在,2.0 对这些部份算是小幅改良。提供建置网站的程序基础架构时,如何能让开发者自由扩充是最难的项目。由于各企业多存在行之有年的数据结构与商业逻辑,如何让新建立的网站可以套用旧的资料,尽量保有以往对信息技术的投资。例如,旧的会员数据库已经存在,但如何让新撰写的 ASP.NET 2.0 网站可以使用到该数据库来认证会员身份,使用个人数据(profile)。抑或是网站导览的数据结构早已存在旧网站中,又如何让新的 SiteMapPath 或 TreeView、Menu 与 SiteMapDatSource 等控件与旧数据结合,好在以新技术撰写的网页中提供整合的网站导览。ASP.NET 2.0 针对上述问题的解法是 Provider Model。模型最具威力的地方就是从繁琐的表征中,抽象出核心运作之原理,在提纲挈领描绘出骨干后,你可以将相同的经验类推到各种功能开发中。就笔者来看,Provider 对 Design Pattern,对象导向分析、设计与撰写,组件化重用等方面,都做了绝佳的示范[2]。ASP.NET 2.0 这次新增的 membership、site maps、profile...等服务,都依照 Provider Model 的精神实做,也就是提供四个层次的架构:l           与使用者互动的控件(UI)l           标准的程序存取接口(API)l           存取数据提供者(Provider)l           实体中继数据结构在每一层,ASP.NET 2.0 都提供了直接可用的对象。但你仍可依自己的需要,随意置换某个服务任一层的组件,而其它层的既有架构照旧使用。除了上述内容之外,本书对于一些越来越热门的主题,例如 Ajax 和微软未来的 Atlas,或是为行动装置开发网页,作者都稍有着墨,但并未深入探讨。阅读建议再次强调,此书不是入门书。若你是 ASP.NET 2.0 的生手,但某些场合让你亲炙了许多 ASP.NET 2.0 炫丽的功能,例如很酷的控件、Master-Content 网页的设计,Theme 与 Skin 的套用、整合自身与 Reporting Services 的报表...等,这些都在前述作者的另一本书内,本书并不适合你。当你需要深入了解 ASP.NET 2.0 的基础原理,架构较为大型的网站,并希望重复使用自己曾经开发的模块或组件时,此书所讨论的主题:如 Handler 和 Module、自订 Provider、自订控件等,就很值得你深究。建议你先看完第一、四、七、十章,分别了解 ASP.NET 2.0 的档案配置与编译、提供各种服务的 Provider Pattern、Web Part架构,以及 site navigation 等技术。因为相较于其它内容,这四章或许会比较快用到J。其它的章节稍做浏览,让你往后钻研进阶功能时,知道在哪可以找到资源。本书的范例很多,且彼此独立,在翻阅各章内容时,可以同时执行一下范例程序,先了解功能为何,是否吸引你进一步深研该章节。不过,由于一些应用程序的基本设定可能与你的系统环境不合,因此,若不熟悉 ASP.NET 2.0 的设定与执行, SQL Server 数据库联机的方式,基本的 C# 语言,则可能很多范例执行起来会有问题L相关阅读ASP.NET 的中文书籍向来是许多作者的最爱,你可以驻足书店,寻找自己喜欢的风格。在此,笔者仅建议你逛逛以下的网站:l           MSDN:http://msdn.microsoft.com/asp.net/。微软技术的大本营不可不去J,对于初学者而言,以下的内容蛮不错的: http://msdn.microsoft.com/asp.net/learning/learn/newtodevelopment/default.aspx而 MSDN 为本书作者 Dino Esposito 提供的网页如下:http://msdn.microsoft.com/asp.net/community/authors/dinoesposito/default.aspxl           http://www.gotdotnet.com/ 分门别类地整理相关技术,而官方的讨论区也有相当丰富的内容 http://forums.microsoft.com/MSDN/default.aspx?SiteID=1 l           当然,恒逸讲师群所努力充实的 .NET Magazine 网站也可让你获益良多:http://www.netmag.com.tw@书名:Programming Microsoft ASP.NET 2.0 Application Advanced Topics@Dino Esposito 着 @Microsoft Press@售价:1650 元 
[1]相關資料可參閱 MSDN 所提供的說明與原始碼範例, http://msdn.microsoft.com/asp.net/downloads/providers/。ASP.NET 2.0 內建的各種服務,其預設的資料儲存區都是 SQL Server,在此網址有提供 C# 原始碼,實做各種 provider 存取放在 Access/Jet 資料庫內的中繼資料。或許使用哪種 DB 格式並不重要,但一窺各種 Provider 的 C# 原始碼,卻是練功的好方法J[2] 就筆者自己的感覺,它示範了 Factory、Adapter、Façade 等 design pattern。同時,ODBC、OLE DB、ADO.NET 似乎早已使用了這種設計方式,你可看到大家用的都是 driver、provider、adapter 等字樣J。不過,將各種 Web 網站服務的開發架構標準化,雖不是新想法,但的確是值得鼓勵與學習的新技術。 


.NET 2.0 在去年底(2005 年)风光上市,就笔者来看,最大的新增在 Team System 架构,与丰富了 ASP.NET 的开发功能。而对广大的使用者来说,无疑是 ASP.NET 2.0 最让人兴奋。Web 应用程序开发的新页章ASP.NET 2.0 改良 1.x 版的设计,让 Web 应用程序的开发架构变得更有弹性,例如:l           开发项目(project)以档案和目录为单位,不由项目文件启动。利用临时的 Web 服务执行测试,在开发环境免掉了 IIS(Internet Information Services)服务。l           使用免费的 SQL Server Express 版本数据库伺服程序,搭配自动建立的数据库档案,以存放各种服务的中继数据。l           透过各种设定管理的工具,简化 web.config 和 machine.config 等设定档的管理。l           经由各种档案独立且自动化的编译,让开发环境所提供的 IntelliSense功能更聪明,部署个别网页更为简单,不会因为一两个网页,坏了整个网站的编译。l           提供数量倍增的控件(control)。l           ...种种设计,让开发者的环境需求较为轻便。而内建丰富的功能,让你我透过点选、拖曳就可以完成大部份的基础工作。Web 应用程序在企业内越来越风行,随着信息教育普及,员工倚赖 IT 辅助日深,各种客制化小系统如雨后春笋遍布在企业内。虽然系统需求各异,但有许多共通的基本功能很重要,做起来却麻烦。例如使用者账号管理、登入、授权与加密,个人化网页,浏览路径导览,一致性的网页设计风格...等。ASP.NET 2.0 内建这些功能,并透过预设的 Provider,将实做这些功能所需之管理信息存放到自动建立的 SQL Express 数据库内。开发人员仅靠设定就可以替网站系统完成大部分的基础设施。ASP.NET 2.0 除了提供很多新的内容,也改善了旧技术,例如 Web Part。新的 Web Part 技术在 ASP.NET 2.0 网页中,搭配预设的个人化功能,可以让使用者随意布置网站版面,而开发者却不需要花费什么功夫。但这与以往透过 Visual Studio 2003 搭配额外下载的 Web Part 模板,开发在 Windows 2003 SharePoint Services(WSS) 使用的 Web Part 并不相同。或许在下一版的 WSS 中,将会全面采用 ASP.NET 2.0 的架构。快速拼装的快餐系统「FrontPage 出现后,全世界产生了几百万张丑网页」曾在美国的大型研讨会听演讲者这么说,主讲人是希望藉此提醒基础知识的重要。笔者赞同深入技术的必要,但另一方面来说,FrontPage 让人们敢于尝试建立网页也功不可没,毕竟要跨出第一步最难。就曾经拜访过的企业,不知多少小网站是起自于 FrontPage,而后若该系统变得重要,再重新思考网站的定位,与进一步采用更专业地开发设计流程。而非技术人员用 FrontPage 愉悦地在网络上建立出自己的首页,更丰富了整个 Web 世界。我相信 ASP.NET 2.0 所提供的各式服务,如 membership、role management、profile、web part personalization、site map...等,再加上一大堆的控件,将会让企业内,部门级的网站系统开发更为相像。就像 Visual Basic 所造就的 Windows Form 充斥,或如上述,透过 FrontPage 来建立的初级网站林立。今后用 Visual Studio 所快速开发的 ASP.NET 网站也将随处可见,且都大同小异。笔者在授课时,与学员的互动中可感受到,大家惊艳于 ASP.NET 2.0 大幅简化了基础功能的开发,但又惧怕日后需求变易时,难于驾驭。大堆头的功能越多,越容易拼装上阵。一旦用上了,要修改得精细合身却又不易。且下层绑定运作的机制必定复杂,非一时三刻可以搞懂。就好像骑脚踏车时,若有问题还可能自己维护。但汽车抛锚时,修理它会让你我却步。但,行远路时,你要开车还是骑脚踏车呢?登堂入室若你已玩过一阵 ASP.NET 2.0,在此介绍一本关于该技术的好书:Programming Microsoft ASP.NET 2.0 Application Advanced Topics。这不是入门书,它未曾介绍如何无中生有建立一个 ASP.NET 网站,或一步步说明如何使用 Visual Studio 2005 开发工具,乃至于 C# 语法解说...等等。简言之,满是字,很少图。就作者 Dino Esposito 的规划,若你是刚入门者,可能他的另外一本书 Programming Microsoft ASP.NET 2.0 Core Reference 比较适合。但依笔者来看,还是到坊间找中文书比较便宜,原文书太贵了L这本书着重解释基础机制的运作原理,例如:各种程序代码、定义、资源等不同档案的配置、动态编译、加载与释放,Handler 与 Module 的设计,异步执行网页的方式,自行撰写控件等。其功用比较像是工具书,让你在实做较为艰深的功能时可以参考专章。或是查阅一些细部的设定,例如透过第三章 ASP.NET Configuration 寻找繁多的 machine.config 或 web.config 等设定之格式与意义。第四章的Building Custom ASP.NET Providers 是要深入了解 ASP.NET 2.0 的一个重点,Provider Model[1] 应该是此版最值得研究的架构之一。其它的技术,如动态编译与加载、Handler 与 Module、Web User Control 和 Custom ASP.NET Control...等,在本书虽都有深入的探讨,但毕竟它们自 ASP.NET 1.0 始就已经存在,2.0 对这些部份算是小幅改良。提供建置网站的程序基础架构时,如何能让开发者自由扩充是最难的项目。由于各企业多存在行之有年的数据结构与商业逻辑,如何让新建立的网站可以套用旧的资料,尽量保有以往对信息技术的投资。例如,旧的会员数据库已经存在,但如何让新撰写的 ASP.NET 2.0 网站可以使用到该数据库来认证会员身份,使用个人数据(profile)。抑或是网站导览的数据结构早已存在旧网站中,又如何让新的 SiteMapPath 或 TreeView、Menu 与 SiteMapDatSource 等控件与旧数据结合,好在以新技术撰写的网页中提供整合的网站导览。ASP.NET 2.0 针对上述问题的解法是 Provider Model。模型最具威力的地方就是从繁琐的表征中,抽象出核心运作之原理,在提纲挈领描绘出骨干后,你可以将相同的经验类推到各种功能开发中。就笔者来看,Provider 对 Design Pattern,对象导向分析、设计与撰写,组件化重用等方面,都做了绝佳的示范[2]。ASP.NET 2.0 这次新增的 membership、site maps、profile...等服务,都依照 Provider Model 的精神实做,也就是提供四个层次的架构:l           与使用者互动的控件(UI)l           标准的程序存取接口(API)l           存取数据提供者(Provider)l           实体中继数据结构在每一层,ASP.NET 2.0 都提供了直接可用的对象。但你仍可依自己的需要,随意置换某个服务任一层的组件,而其它层的既有架构照旧使用。除了上述内容之外,本书对于一些越来越热门的主题,例如 Ajax 和微软未来的 Atlas,或是为行动装置开发网页,作者都稍有着墨,但并未深入探讨。阅读建议再次强调,此书不是入门书。若你是 ASP.NET 2.0 的生手,但某些场合让你亲炙了许多 ASP.NET 2.0 炫丽的功能,例如很酷的控件、Master-Content 网页的设计,Theme 与 Skin 的套用、整合自身与 Reporting Services 的报表...等,这些都在前述作者的另一本书内,本书并不适合你。当你需要深入了解 ASP.NET 2.0 的基础原理,架构较为大型的网站,并希望重复使用自己曾经开发的模块或组件时,此书所讨论的主题:如 Handler 和 Module、自订 Provider、自订控件等,就很值得你深究。建议你先看完第一、四、七、十章,分别了解 ASP.NET 2.0 的档案配置与编译、提供各种服务的 Provider Pattern、Web Part架构,以及 site navigation 等技术。因为相较于其它内容,这四章或许会比较快用到J。其它的章节稍做浏览,让你往后钻研进阶功能时,知道在哪可以找到资源。本书的范例很多,且彼此独立,在翻阅各章内容时,可以同时执行一下范例程序,先了解功能为何,是否吸引你进一步深研该章节。不过,由于一些应用程序的基本设定可能与你的系统环境不合,因此,若不熟悉 ASP.NET 2.0 的设定与执行, SQL Server 数据库联机的方式,基本的 C# 语言,则可能很多范例执行起来会有问题L相关阅读ASP.NET 的中文书籍向来是许多作者的最爱,你可以驻足书店,寻找自己喜欢的风格。在此,笔者仅建议你逛逛以下的网站:l           MSDN:http://msdn.microsoft.com/asp.net/。微软技术的大本营不可不去J,对于初学者而言,以下的内容蛮不错的: http://msdn.microsoft.com/asp.net/learning/learn/newtodevelopment/default.aspx而 MSDN 为本书作者 Dino Esposito 提供的网页如下:http://msdn.microsoft.com/asp.net/community/authors/dinoesposito/default.aspxl           http://www.gotdotnet.com/ 分门别类地整理相关技术,而官方的讨论区也有相当丰富的内容 http://forums.microsoft.com/MSDN/default.aspx?SiteID=1 l           当然,恒逸讲师群所努力充实的 .NET Magazine 网站也可让你获益良多:http://www.netmag.com.tw@书名:Programming Microsoft ASP.NET 2.0 Application Advanced Topics@Dino Esposito 着 @Microsoft Press@售价:1650 元 
[1]相關資料可參閱 MSDN 所提供的說明與原始碼範例, http://msdn.microsoft.com/asp.net/downloads/providers/。ASP.NET 2.0 內建的各種服務,其預設的資料儲存區都是 SQL Server,在此網址有提供 C# 原始碼,實做各種 provider 存取放在 Access/Jet 資料庫內的中繼資料。或許使用哪種 DB 格式並不重要,但一窺各種 Provider 的 C# 原始碼,卻是練功的好方法J[2] 就筆者自己的感覺,它示範了 Factory、Adapter、Façade 等 design pattern。同時,ODBC、OLE DB、ADO.NET 似乎早已使用了這種設計方式,你可看到大家用的都是 driver、provider、adapter 等字樣J。不過,將各種 Web 網站服務的開發架構標準化,雖不是新想法,但的確是值得鼓勵與學習的新技術。 


.NET 2.0 在去年底(2005 年)风光上市,就笔者来看,最大的新增在 Team System 架构,与丰富了 ASP.NET 的开发功能。而对广大的使用者来说,无疑是 ASP.NET 2.0 最让人兴奋。Web 应用程序开发的新页章ASP.NET 2.0 改良 1.x 版的设计,让 Web 应用程序的开发架构变得更有弹性,例如:l           开发项目(project)以档案和目录为单位,不由项目文件启动。利用临时的 Web 服务执行测试,在开发环境免掉了 IIS(Internet Information Services)服务。l           使用免费的 SQL Server Express 版本数据库伺服程序,搭配自动建立的数据库档案,以存放各种服务的中继数据。l           透过各种设定管理的工具,简化 web.config 和 machine.config 等设定档的管理。l           经由各种档案独立且自动化的编译,让开发环境所提供的 IntelliSense功能更聪明,部署个别网页更为简单,不会因为一两个网页,坏了整个网站的编译。l           提供数量倍增的控件(control)。l           ...种种设计,让开发者的环境需求较为轻便。而内建丰富的功能,让你我透过点选、拖曳就可以完成大部份的基础工作。Web 应用程序在企业内越来越风行,随着信息教育普及,员工倚赖 IT 辅助日深,各种客制化小系统如雨后春笋遍布在企业内。虽然系统需求各异,但有许多共通的基本功能很重要,做起来却麻烦。例如使用者账号管理、登入、授权与加密,个人化网页,浏览路径导览,一致性的网页设计风格...等。ASP.NET 2.0 内建这些功能,并透过预设的 Provider,将实做这些功能所需之管理信息存放到自动建立的 SQL Express 数据库内。开发人员仅靠设定就可以替网站系统完成大部分的基础设施。ASP.NET 2.0 除了提供很多新的内容,也改善了旧技术,例如 Web Part。新的 Web Part 技术在 ASP.NET 2.0 网页中,搭配预设的个人化功能,可以让使用者随意布置网站版面,而开发者却不需要花费什么功夫。但这与以往透过 Visual Studio 2003 搭配额外下载的 Web Part 模板,开发在 Windows 2003 SharePoint Services(WSS) 使用的 Web Part 并不相同。或许在下一版的 WSS 中,将会全面采用 ASP.NET 2.0 的架构。快速拼装的快餐系统「FrontPage 出现后,全世界产生了几百万张丑网页」曾在美国的大型研讨会听演讲者这么说,主讲人是希望藉此提醒基础知识的重要。笔者赞同深入技术的必要,但另一方面来说,FrontPage 让人们敢于尝试建立网页也功不可没,毕竟要跨出第一步最难。就曾经拜访过的企业,不知多少小网站是起自于 FrontPage,而后若该系统变得重要,再重新思考网站的定位,与进一步采用更专业地开发设计流程。而非技术人员用 FrontPage 愉悦地在网络上建立出自己的首页,更丰富了整个 Web 世界。我相信 ASP.NET 2.0 所提供的各式服务,如 membership、role management、profile、web part personalization、site map...等,再加上一大堆的控件,将会让企业内,部门级的网站系统开发更为相像。就像 Visual Basic 所造就的 Windows Form 充斥,或如上述,透过 FrontPage 来建立的初级网站林立。今后用 Visual Studio 所快速开发的 ASP.NET 网站也将随处可见,且都大同小异。笔者在授课时,与学员的互动中可感受到,大家惊艳于 ASP.NET 2.0 大幅简化了基础功能的开发,但又惧怕日后需求变易时,难于驾驭。大堆头的功能越多,越容易拼装上阵。一旦用上了,要修改得精细合身却又不易。且下层绑定运作的机制必定复杂,非一时三刻可以搞懂。就好像骑脚踏车时,若有问题还可能自己维护。但汽车抛锚时,修理它会让你我却步。但,行远路时,你要开车还是骑脚踏车呢?登堂入室若你已玩过一阵 ASP.NET 2.0,在此介绍一本关于该技术的好书:Programming Microsoft ASP.NET 2.0 Application Advanced Topics。这不是入门书,它未曾介绍如何无中生有建立一个 ASP.NET 网站,或一步步说明如何使用 Visual Studio 2005 开发工具,乃至于 C# 语法解说...等等。简言之,满是字,很少图。就作者 Dino Esposito 的规划,若你是刚入门者,可能他的另外一本书 Programming Microsoft ASP.NET 2.0 Core Reference 比较适合。但依笔者来看,还是到坊间找中文书比较便宜,原文书太贵了L这本书着重解释基础机制的运作原理,例如:各种程序代码、定义、资源等不同档案的配置、动态编译、加载与释放,Handler 与 Module 的设计,异步执行网页的方式,自行撰写控件等。其功用比较像是工具书,让你在实做较为艰深的功能时可以参考专章。或是查阅一些细部的设定,例如透过第三章 ASP.NET Configuration 寻找繁多的 machine.config 或 web.config 等设定之格式与意义。第四章的Building Custom ASP.NET Providers 是要深入了解 ASP.NET 2.0 的一个重点,Provider Model[1] 应该是此版最值得研究的架构之一。其它的技术,如动态编译与加载、Handler 与 Module、Web User Control 和 Custom ASP.NET Control...等,在本书虽都有深入的探讨,但毕竟它们自 ASP.NET 1.0 始就已经存在,2.0 对这些部份算是小幅改良。提供建置网站的程序基础架构时,如何能让开发者自由扩充是最难的项目。由于各企业多存在行之有年的数据结构与商业逻辑,如何让新建立的网站可以套用旧的资料,尽量保有以往对信息技术的投资。例如,旧的会员数据库已经存在,但如何让新撰写的 ASP.NET 2.0 网站可以使用到该数据库来认证会员身份,使用个人数据(profile)。抑或是网站导览的数据结构早已存在旧网站中,又如何让新的 SiteMapPath 或 TreeView、Menu 与 SiteMapDatSource 等控件与旧数据结合,好在以新技术撰写的网页中提供整合的网站导览。ASP.NET 2.0 针对上述问题的解法是 Provider Model。模型最具威力的地方就是从繁琐的表征中,抽象出核心运作之原理,在提纲挈领描绘出骨干后,你可以将相同的经验类推到各种功能开发中。就笔者来看,Provider 对 Design Pattern,对象导向分析、设计与撰写,组件化重用等方面,都做了绝佳的示范[2]。ASP.NET 2.0 这次新增的 membership、site maps、profile...等服务,都依照 Provider Model 的精神实做,也就是提供四个层次的架构:l           与使用者互动的控件(UI)l           标准的程序存取接口(API)l           存取数据提供者(Provider)l           实体中继数据结构在每一层,ASP.NET 2.0 都提供了直接可用的对象。但你仍可依自己的需要,随意置换某个服务任一层的组件,而其它层的既有架构照旧使用。除了上述内容之外,本书对于一些越来越热门的主题,例如 Ajax 和微软未来的 Atlas,或是为行动装置开发网页,作者都稍有着墨,但并未深入探讨。阅读建议再次强调,此书不是入门书。若你是 ASP.NET 2.0 的生手,但某些场合让你亲炙了许多 ASP.NET 2.0 炫丽的功能,例如很酷的控件、Master-Content 网页的设计,Theme 与 Skin 的套用、整合自身与 Reporting Services 的报表...等,这些都在前述作者的另一本书内,本书并不适合你。当你需要深入了解 ASP.NET 2.0 的基础原理,架构较为大型的网站,并希望重复使用自己曾经开发的模块或组件时,此书所讨论的主题:如 Handler 和 Module、自订 Provider、自订控件等,就很值得你深究。建议你先看完第一、四、七、十章,分别了解 ASP.NET 2.0 的档案配置与编译、提供各种服务的 Provider Pattern、Web Part架构,以及 site navigation 等技术。因为相较于其它内容,这四章或许会比较快用到J。其它的章节稍做浏览,让你往后钻研进阶功能时,知道在哪可以找到资源。本书的范例很多,且彼此独立,在翻阅各章内容时,可以同时执行一下范例程序,先了解功能为何,是否吸引你进一步深研该章节。不过,由于一些应用程序的基本设定可能与你的系统环境不合,因此,若不熟悉 ASP.NET 2.0 的设定与执行, SQL Server 数据库联机的方式,基本的 C# 语言,则可能很多范例执行起来会有问题L相关阅读ASP.NET 的中文书籍向来是许多作者的最爱,你可以驻足书店,寻找自己喜欢的风格。在此,笔者仅建议你逛逛以下的网站:l           MSDN:http://msdn.microsoft.com/asp.net/。微软技术的大本营不可不去J,对于初学者而言,以下的内容蛮不错的: http://msdn.microsoft.com/asp.net/learning/learn/newtodevelopment/default.aspx而 MSDN 为本书作者 Dino Esposito 提供的网页如下:http://msdn.microsoft.com/asp.net/community/authors/dinoesposito/default.aspxl           http://www.gotdotnet.com/ 分门别类地整理相关技术,而官方的讨论区也有相当丰富的内容 http://forums.microsoft.com/MSDN/default.aspx?SiteID=1 l           当然,恒逸讲师群所努力充实的 .NET Magazine 网站也可让你获益良多:http://www.netmag.com.tw@书名:Programming Microsoft ASP.NET 2.0 Application Advanced Topics@Dino Esposito 着 @Microsoft Press@售价:1650 元 
[1]相關資料可參閱 MSDN 所提供的說明與原始碼範例, http://msdn.microsoft.com/asp.net/downloads/providers/。ASP.NET 2.0 內建的各種服務,其預設的資料儲存區都是 SQL Server,在此網址有提供 C# 原始碼,實做各種 provider 存取放在 Access/Jet 資料庫內的中繼資料。或許使用哪種 DB 格式並不重要,但一窺各種 Provider 的 C# 原始碼,卻是練功的好方法J[2] 就筆者自己的感覺,它示範了 Factory、Adapter、Façade 等 design pattern。同時,ODBC、OLE DB、ADO.NET 似乎早已使用了這種設計方式,你可看到大家用的都是 driver、provider、adapter 等字樣J。不過,將各種 Web 網站服務的開發架構標準化,雖不是新想法,但的確是值得鼓勵與學習的新技術。 


.NET 2.0 在去年底(2005 年)风光上市,就笔者来看,最大的新增在 Team System 架构,与丰富了 ASP.NET 的开发功能。而对广大的使用者来说,无疑是 ASP.NET 2.0 最让人兴奋。Web 应用程序开发的新页章ASP.NET 2.0 改良 1.x 版的设计,让 Web 应用程序的开发架构变得更有弹性,例如:l           开发项目(project)以档案和目录为单位,不由项目文件启动。利用临时的 Web 服务执行测试,在开发环境免掉了 IIS(Internet Information Services)服务。l           使用免费的 SQL Server Express 版本数据库伺服程序,搭配自动建立的数据库档案,以存放各种服务的中继数据。l           透过各种设定管理的工具,简化 web.config 和 machine.config 等设定档的管理。l           经由各种档案独立且自动化的编译,让开发环境所提供的 IntelliSense功能更聪明,部署个别网页更为简单,不会因为一两个网页,坏了整个网站的编译。l           提供数量倍增的控件(control)。l           ...种种设计,让开发者的环境需求较为轻便。而内建丰富的功能,让你我透过点选、拖曳就可以完成大部份的基础工作。Web 应用程序在企业内越来越风行,随着信息教育普及,员工倚赖 IT 辅助日深,各种客制化小系统如雨后春笋遍布在企业内。虽然系统需求各异,但有许多共通的基本功能很重要,做起来却麻烦。例如使用者账号管理、登入、授权与加密,个人化网页,浏览路径导览,一致性的网页设计风格...等。ASP.NET 2.0 内建这些功能,并透过预设的 Provider,将实做这些功能所需之管理信息存放到自动建立的 SQL Express 数据库内。开发人员仅靠设定就可以替网站系统完成大部分的基础设施。ASP.NET 2.0 除了提供很多新的内容,也改善了旧技术,例如 Web Part。新的 Web Part 技术在 ASP.NET 2.0 网页中,搭配预设的个人化功能,可以让使用者随意布置网站版面,而开发者却不需要花费什么功夫。但这与以往透过 Visual Studio 2003 搭配额外下载的 Web Part 模板,开发在 Windows 2003 SharePoint Services(WSS) 使用的 Web Part 并不相同。或许在下一版的 WSS 中,将会全面采用 ASP.NET 2.0 的架构。快速拼装的快餐系统「FrontPage 出现后,全世界产生了几百万张丑网页」曾在美国的大型研讨会听演讲者这么说,主讲人是希望藉此提醒基础知识的重要。笔者赞同深入技术的必要,但另一方面来说,FrontPage 让人们敢于尝试建立网页也功不可没,毕竟要跨出第一步最难。就曾经拜访过的企业,不知多少小网站是起自于 FrontPage,而后若该系统变得重要,再重新思考网站的定位,与进一步采用更专业地开发设计流程。而非技术人员用 FrontPage 愉悦地在网络上建立出自己的首页,更丰富了整个 Web 世界。我相信 ASP.NET 2.0 所提供的各式服务,如 membership、role management、profile、web part personalization、site map...等,再加上一大堆的控件,将会让企业内,部门级的网站系统开发更为相像。就像 Visual Basic 所造就的 Windows Form 充斥,或如上述,透过 FrontPage 来建立的初级网站林立。今后用 Visual Studio 所快速开发的 ASP.NET 网站也将随处可见,且都大同小异。笔者在授课时,与学员的互动中可感受到,大家惊艳于 ASP.NET 2.0 大幅简化了基础功能的开发,但又惧怕日后需求变易时,难于驾驭。大堆头的功能越多,越容易拼装上阵。一旦用上了,要修改得精细合身却又不易。且下层绑定运作的机制必定复杂,非一时三刻可以搞懂。就好像骑脚踏车时,若有问题还可能自己维护。但汽车抛锚时,修理它会让你我却步。但,行远路时,你要开车还是骑脚踏车呢?登堂入室若你已玩过一阵 ASP.NET 2.0,在此介绍一本关于该技术的好书:Programming Microsoft ASP.NET 2.0 Application Advanced Topics。这不是入门书,它未曾介绍如何无中生有建立一个 ASP.NET 网站,或一步步说明如何使用 Visual Studio 2005 开发工具,乃至于 C# 语法解说...等等。简言之,满是字,很少图。就作者 Dino Esposito 的规划,若你是刚入门者,可能他的另外一本书 Programming Microsoft ASP.NET 2.0 Core Reference 比较适合。但依笔者来看,还是到坊间找中文书比较便宜,原文书太贵了L这本书着重解释基础机制的运作原理,例如:各种程序代码、定义、资源等不同档案的配置、动态编译、加载与释放,Handler 与 Module 的设计,异步执行网页的方式,自行撰写控件等。其功用比较像是工具书,让你在实做较为艰深的功能时可以参考专章。或是查阅一些细部的设定,例如透过第三章 ASP.NET Configuration 寻找繁多的 machine.config 或 web.config 等设定之格式与意义。第四章的Building Custom ASP.NET Providers 是要深入了解 ASP.NET 2.0 的一个重点,Provider Model[1] 应该是此版最值得研究的架构之一。其它的技术,如动态编译与加载、Handler 与 Module、Web User Control 和 Custom ASP.NET Control...等,在本书虽都有深入的探讨,但毕竟它们自 ASP.NET 1.0 始就已经存在,2.0 对这些部份算是小幅改良。提供建置网站的程序基础架构时,如何能让开发者自由扩充是最难的项目。由于各企业多存在行之有年的数据结构与商业逻辑,如何让新建立的网站可以套用旧的资料,尽量保有以往对信息技术的投资。例如,旧的会员数据库已经存在,但如何让新撰写的 ASP.NET 2.0 网站可以使用到该数据库来认证会员身份,使用个人数据(profile)。抑或是网站导览的数据结构早已存在旧网站中,又如何让新的 SiteMapPath 或 TreeView、Menu 与 SiteMapDatSource 等控件与旧数据结合,好在以新技术撰写的网页中提供整合的网站导览。ASP.NET 2.0 针对上述问题的解法是 Provider Model。模型最具威力的地方就是从繁琐的表征中,抽象出核心运作之原理,在提纲挈领描绘出骨干后,你可以将相同的经验类推到各种功能开发中。就笔者来看,Provider 对 Design Pattern,对象导向分析、设计与撰写,组件化重用等方面,都做了绝佳的示范[2]。ASP.NET 2.0 这次新增的 membership、site maps、profile...等服务,都依照 Provider Model 的精神实做,也就是提供四个层次的架构:l           与使用者互动的控件(UI)l           标准的程序存取接口(API)l           存取数据提供者(Provider)l           实体中继数据结构在每一层,ASP.NET 2.0 都提供了直接可用的对象。但你仍可依自己的需要,随意置换某个服务任一层的组件,而其它层的既有架构照旧使用。除了上述内容之外,本书对于一些越来越热门的主题,例如 Ajax 和微软未来的 Atlas,或是为行动装置开发网页,作者都稍有着墨,但并未深入探讨。阅读建议再次强调,此书不是入门书。若你是 ASP.NET 2.0 的生手,但某些场合让你亲炙了许多 ASP.NET 2.0 炫丽的功能,例如很酷的控件、Master-Content 网页的设计,Theme 与 Skin 的套用、整合自身与 Reporting Services 的报表...等,这些都在前述作者的另一本书内,本书并不适合你。当你需要深入了解 ASP.NET 2.0 的基础原理,架构较为大型的网站,并希望重复使用自己曾经开发的模块或组件时,此书所讨论的主题:如 Handler 和 Module、自订 Provider、自订控件等,就很值得你深究。建议你先看完第一、四、七、十章,分别了解 ASP.NET 2.0 的档案配置与编译、提供各种服务的 Provider Pattern、Web Part架构,以及 site navigation 等技术。因为相较于其它内容,这四章或许会比较快用到J。其它的章节稍做浏览,让你往后钻研进阶功能时,知道在哪可以找到资源。本书的范例很多,且彼此独立,在翻阅各章内容时,可以同时执行一下范例程序,先了解功能为何,是否吸引你进一步深研该章节。不过,由于一些应用程序的基本设定可能与你的系统环境不合,因此,若不熟悉 ASP.NET 2.0 的设定与执行, SQL Server 数据库联机的方式,基本的 C# 语言,则可能很多范例执行起来会有问题L相关阅读ASP.NET 的中文书籍向来是许多作者的最爱,你可以驻足书店,寻找自己喜欢的风格。在此,笔者仅建议你逛逛以下的网站:l           MSDN:http://msdn.microsoft.com/asp.net/。微软技术的大本营不可不去J,对于初学者而言,以下的内容蛮不错的: http://msdn.microsoft.com/asp.net/learning/learn/newtodevelopment/default.aspx而 MSDN 为本书作者 Dino Esposito 提供的网页如下:http://msdn.microsoft.com/asp.net/community/authors/dinoesposito/default.aspxl           http://www.gotdotnet.com/ 分门别类地整理相关技术,而官方的讨论区也有相当丰富的内容 http://forums.microsoft.com/MSDN/default.aspx?SiteID=1 l           当然,恒逸讲师群所努力充实的 .NET Magazine 网站也可让你获益良多:http://www.netmag.com.tw@书名:Programming Microsoft ASP.NET 2.0 Application Advanced Topics@Dino Esposito 着 @Microsoft Press@售价:1650 元 
[1]相關資料可參閱 MSDN 所提供的說明與原始碼範例, http://msdn.microsoft.com/asp.net/downloads/providers/。ASP.NET 2.0 內建的各種服務,其預設的資料儲存區都是 SQL Server,在此網址有提供 C# 原始碼,實做各種 provider 存取放在 Access/Jet 資料庫內的中繼資料。或許使用哪種 DB 格式並不重要,但一窺各種 Provider 的 C# 原始碼,卻是練功的好方法J[2] 就筆者自己的感覺,它示範了 Factory、Adapter、Façade 等 design pattern。同時,ODBC、OLE DB、ADO.NET 似乎早已使用了這種設計方式,你可看到大家用的都是 driver、provider、adapter 等字樣J。不過,將各種 Web 網站服務的開發架構標準化,雖不是新想法,但的確是值得鼓勵與學習的新技術。 


.NET 2.0 在去年底(2005 年)风光上市,就笔者来看,最大的新增在 Team System 架构,与丰富了 ASP.NET 的开发功能。而对广大的使用者来说,无疑是 ASP.NET 2.0 最让人兴奋。Web 应用程序开发的新页章ASP.NET 2.0 改良 1.x 版的设计,让 Web 应用程序的开发架构变得更有弹性,例如:l           开发项目(project)以档案和目录为单位,不由项目文件启动。利用临时的 Web 服务执行测试,在开发环境免掉了 IIS(Internet Information Services)服务。l           使用免费的 SQL Server Express 版本数据库伺服程序,搭配自动建立的数据库档案,以存放各种服务的中继数据。l           透过各种设定管理的工具,简化 web.config 和 machine.config 等设定档的管理。l           经由各种档案独立且自动化的编译,让开发环境所提供的 IntelliSense功能更聪明,部署个别网页更为简单,不会因为一两个网页,坏了整个网站的编译。l           提供数量倍增的控件(control)。l           ...种种设计,让开发者的环境需求较为轻便。而内建丰富的功能,让你我透过点选、拖曳就可以完成大部份的基础工作。Web 应用程序在企业内越来越风行,随着信息教育普及,员工倚赖 IT 辅助日深,各种客制化小系统如雨后春笋遍布在企业内。虽然系统需求各异,但有许多共通的基本功能很重要,做起来却麻烦。例如使用者账号管理、登入、授权与加密,个人化网页,浏览路径导览,一致性的网页设计风格...等。ASP.NET 2.0 内建这些功能,并透过预设的 Provider,将实做这些功能所需之管理信息存放到自动建立的 SQL Express 数据库内。开发人员仅靠设定就可以替网站系统完成大部分的基础设施。ASP.NET 2.0 除了提供很多新的内容,也改善了旧技术,例如 Web Part。新的 Web Part 技术在 ASP.NET 2.0 网页中,搭配预设的个人化功能,可以让使用者随意布置网站版面,而开发者却不需要花费什么功夫。但这与以往透过 Visual Studio 2003 搭配额外下载的 Web Part 模板,开发在 Windows 2003 SharePoint Services(WSS) 使用的 Web Part 并不相同。或许在下一版的 WSS 中,将会全面采用 ASP.NET 2.0 的架构。快速拼装的快餐系统「FrontPage 出现后,全世界产生了几百万张丑网页」曾在美国的大型研讨会听演讲者这么说,主讲人是希望藉此提醒基础知识的重要。笔者赞同深入技术的必要,但另一方面来说,FrontPage 让人们敢于尝试建立网页也功不可没,毕竟要跨出第一步最难。就曾经拜访过的企业,不知多少小网站是起自于 FrontPage,而后若该系统变得重要,再重新思考网站的定位,与进一步采用更专业地开发设计流程。而非技术人员用 FrontPage 愉悦地在网络上建立出自己的首页,更丰富了整个 Web 世界。我相信 ASP.NET 2.0 所提供的各式服务,如 membership、role management、profile、web part personalization、site map...等,再加上一大堆的控件,将会让企业内,部门级的网站系统开发更为相像。就像 Visual Basic 所造就的 Windows Form 充斥,或如上述,透过 FrontPage 来建立的初级网站林立。今后用 Visual Studio 所快速开发的 ASP.NET 网站也将随处可见,且都大同小异。笔者在授课时,与学员的互动中可感受到,大家惊艳于 ASP.NET 2.0 大幅简化了基础功能的开发,但又惧怕日后需求变易时,难于驾驭。大堆头的功能越多,越容易拼装上阵。一旦用上了,要修改得精细合身却又不易。且下层绑定运作的机制必定复杂,非一时三刻可以搞懂。就好像骑脚踏车时,若有问题还可能自己维护。但汽车抛锚时,修理它会让你我却步。但,行远路时,你要开车还是骑脚踏车呢?登堂入室若你已玩过一阵 ASP.NET 2.0,在此介绍一本关于该技术的好书:Programming Microsoft ASP.NET 2.0 Application Advanced Topics。这不是入门书,它未曾介绍如何无中生有建立一个 ASP.NET 网站,或一步步说明如何使用 Visual Studio 2005 开发工具,乃至于 C# 语法解说...等等。简言之,满是字,很少图。就作者 Dino Esposito 的规划,若你是刚入门者,可能他的另外一本书 Programming Microsoft ASP.NET 2.0 Core Reference 比较适合。但依笔者来看,还是到坊间找中文书比较便宜,原文书太贵了L这本书着重解释基础机制的运作原理,例如:各种程序代码、定义、资源等不同档案的配置、动态编译、加载与释放,Handler 与 Module 的设计,异步执行网页的方式,自行撰写控件等。其功用比较像是工具书,让你在实做较为艰深的功能时可以参考专章。或是查阅一些细部的设定,例如透过第三章 ASP.NET Configuration 寻找繁多的 machine.config 或 web.config 等设定之格式与意义。第四章的Building Custom ASP.NET Providers 是要深入了解 ASP.NET 2.0 的一个重点,Provider Model[1] 应该是此版最值得研究的架构之一。其它的技术,如动态编译与加载、Handler 与 Module、Web User Control 和 Custom ASP.NET Control...等,在本书虽都有深入的探讨,但毕竟它们自 ASP.NET 1.0 始就已经存在,2.0 对这些部份算是小幅改良。提供建置网站的程序基础架构时,如何能让开发者自由扩充是最难的项目。由于各企业多存在行之有年的数据结构与商业逻辑,如何让新建立的网站可以套用旧的资料,尽量保有以往对信息技术的投资。例如,旧的会员数据库已经存在,但如何让新撰写的 ASP.NET 2.0 网站可以使用到该数据库来认证会员身份,使用个人数据(profile)。抑或是网站导览的数据结构早已存在旧网站中,又如何让新的 SiteMapPath 或 TreeView、Menu 与 SiteMapDatSource 等控件与旧数据结合,好在以新技术撰写的网页中提供整合的网站导览。ASP.NET 2.0 针对上述问题的解法是 Provider Model。模型最具威力的地方就是从繁琐的表征中,抽象出核心运作之原理,在提纲挈领描绘出骨干后,你可以将相同的经验类推到各种功能开发中。就笔者来看,Provider 对 Design Pattern,对象导向分析、设计与撰写,组件化重用等方面,都做了绝佳的示范[2]。ASP.NET 2.0 这次新增的 membership、site maps、profile...等服务,都依照 Provider Model 的精神实做,也就是提供四个层次的架构:l           与使用者互动的控件(UI)l           标准的程序存取接口(API)l           存取数据提供者(Provider)l           实体中继数据结构在每一层,ASP.NET 2.0 都提供了直接可用的对象。但你仍可依自己的需要,随意置换某个服务任一层的组件,而其它层的既有架构照旧使用。除了上述内容之外,本书对于一些越来越热门的主题,例如 Ajax 和微软未来的 Atlas,或是为行动装置开发网页,作者都稍有着墨,但并未深入探讨。阅读建议再次强调,此书不是入门书。若你是 ASP.NET 2.0 的生手,但某些场合让你亲炙了许多 ASP.NET 2.0 炫丽的功能,例如很酷的控件、Master-Content 网页的设计,Theme 与 Skin 的套用、整合自身与 Reporting Services 的报表...等,这些都在前述作者的另一本书内,本书并不适合你。当你需要深入了解 ASP.NET 2.0 的基础原理,架构较为大型的网站,并希望重复使用自己曾经开发的模块或组件时,此书所讨论的主题:如 Handler 和 Module、自订 Provider、自订控件等,就很值得你深究。建议你先看完第一、四、七、十章,分别了解 ASP.NET 2.0 的档案配置与编译、提供各种服务的 Provider Pattern、Web Part架构,以及 site navigation 等技术。因为相较于其它内容,这四章或许会比较快用到J。其它的章节稍做浏览,让你往后钻研进阶功能时,知道在哪可以找到资源。本书的范例很多,且彼此独立,在翻阅各章内容时,可以同时执行一下范例程序,先了解功能为何,是否吸引你进一步深研该章节。不过,由于一些应用程序的基本设定可能与你的系统环境不合,因此,若不熟悉 ASP.NET 2.0 的设定与执行, SQL Server 数据库联机的方式,基本的 C# 语言,则可能很多范例执行起来会有问题L相关阅读ASP.NET 的中文书籍向来是许多作者的最爱,你可以驻足书店,寻找自己喜欢的风格。在此,笔者仅建议你逛逛以下的网站:l           MSDN:http://msdn.microsoft.com/asp.net/。微软技术的大本营不可不去J,对于初学者而言,以下的内容蛮不错的: http://msdn.microsoft.com/asp.net/learning/learn/newtodevelopment/default.aspx而 MSDN 为本书作者 Dino Esposito 提供的网页如下:http://msdn.microsoft.com/asp.net/community/authors/dinoesposito/default.aspxl           http://www.gotdotnet.com/ 分门别类地整理相关技术,而官方的讨论区也有相当丰富的内容 http://forums.microsoft.com/MSDN/default.aspx?SiteID=1 l           当然,恒逸讲师群所努力充实的 .NET Magazine 网站也可让你获益良多:http://www.netmag.com.tw@书名:Programming Microsoft ASP.NET 2.0 Application Advanced Topics@Dino Esposito 着 @Microsoft Press@售价:1650 元 
[1]相關資料可參閱 MSDN 所提供的說明與原始碼範例, http://msdn.microsoft.com/asp.net/downloads/providers/。ASP.NET 2.0 內建的各種服務,其預設的資料儲存區都是 SQL Server,在此網址有提供 C# 原始碼,實做各種 provider 存取放在 Access/Jet 資料庫內的中繼資料。或許使用哪種 DB 格式並不重要,但一窺各種 Provider 的 C# 原始碼,卻是練功的好方法J[2] 就筆者自己的感覺,它示範了 Factory、Adapter、Façade 等 design pattern。同時,ODBC、OLE DB、ADO.NET 似乎早已使用了這種設計方式,你可看到大家用的都是 driver、provider、adapter 等字樣J。不過,將各種 Web 網站服務的開發架構標準化,雖不是新想法,但的確是值得鼓勵與學習的新技術。 


.NET 2.0 在去年底(2005 年)风光上市,就笔者来看,最大的新增在 Team System 架构,与丰富了 ASP.NET 的开发功能。而对广大的使用者来说,无疑是 ASP.NET 2.0 最让人兴奋。Web 应用程序开发的新页章ASP.NET 2.0 改良 1.x 版的设计,让 Web 应用程序的开发架构变得更有弹性,例如:l           开发项目(project)以档案和目录为单位,不由项目文件启动。利用临时的 Web 服务执行测试,在开发环境免掉了 IIS(Internet Information Services)服务。l           使用免费的 SQL Server Express 版本数据库伺服程序,搭配自动建立的数据库档案,以存放各种服务的中继数据。l           透过各种设定管理的工具,简化 web.config 和 machine.config 等设定档的管理。l           经由各种档案独立且自动化的编译,让开发环境所提供的 IntelliSense功能更聪明,部署个别网页更为简单,不会因为一两个网页,坏了整个网站的编译。l           提供数量倍增的控件(control)。l           ...种种设计,让开发者的环境需求较为轻便。而内建丰富的功能,让你我透过点选、拖曳就可以完成大部份的基础工作。Web 应用程序在企业内越来越风行,随着信息教育普及,员工倚赖 IT 辅助日深,各种客制化小系统如雨后春笋遍布在企业内。虽然系统需求各异,但有许多共通的基本功能很重要,做起来却麻烦。例如使用者账号管理、登入、授权与加密,个人化网页,浏览路径导览,一致性的网页设计风格...等。ASP.NET 2.0 内建这些功能,并透过预设的 Provider,将实做这些功能所需之管理信息存放到自动建立的 SQL Express 数据库内。开发人员仅靠设定就可以替网站系统完成大部分的基础设施。ASP.NET 2.0 除了提供很多新的内容,也改善了旧技术,例如 Web Part。新的 Web Part 技术在 ASP.NET 2.0 网页中,搭配预设的个人化功能,可以让使用者随意布置网站版面,而开发者却不需要花费什么功夫。但这与以往透过 Visual Studio 2003 搭配额外下载的 Web Part 模板,开发在 Windows 2003 SharePoint Services(WSS) 使用的 Web Part 并不相同。或许在下一版的 WSS 中,将会全面采用 ASP.NET 2.0 的架构。快速拼装的快餐系统「FrontPage 出现后,全世界产生了几百万张丑网页」曾在美国的大型研讨会听演讲者这么说,主讲人是希望藉此提醒基础知识的重要。笔者赞同深入技术的必要,但另一方面来说,FrontPage 让人们敢于尝试建立网页也功不可没,毕竟要跨出第一步最难。就曾经拜访过的企业,不知多少小网站是起自于 FrontPage,而后若该系统变得重要,再重新思考网站的定位,与进一步采用更专业地开发设计流程。而非技术人员用 FrontPage 愉悦地在网络上建立出自己的首页,更丰富了整个 Web 世界。我相信 ASP.NET 2.0 所提供的各式服务,如 membership、role management、profile、web part personalization、site map...等,再加上一大堆的控件,将会让企业内,部门级的网站系统开发更为相像。就像 Visual Basic 所造就的 Windows Form 充斥,或如上述,透过 FrontPage 来建立的初级网站林立。今后用 Visual Studio 所快速开发的 ASP.NET 网站也将随处可见,且都大同小异。笔者在授课时,与学员的互动中可感受到,大家惊艳于 ASP.NET 2.0 大幅简化了基础功能的开发,但又惧怕日后需求变易时,难于驾驭。大堆头的功能越多,越容易拼装上阵。一旦用上了,要修改得精细合身却又不易。且下层绑定运作的机制必定复杂,非一时三刻可以搞懂。就好像骑脚踏车时,若有问题还可能自己维护。但汽车抛锚时,修理它会让你我却步。但,行远路时,你要开车还是骑脚踏车呢?登堂入室若你已玩过一阵 ASP.NET 2.0,在此介绍一本关于该技术的好书:Programming Microsoft ASP.NET 2.0 Application Advanced Topics。这不是入门书,它未曾介绍如何无中生有建立一个 ASP.NET 网站,或一步步说明如何使用 Visual Studio 2005 开发工具,乃至于 C# 语法解说...等等。简言之,满是字,很少图。就作者 Dino Esposito 的规划,若你是刚入门者,可能他的另外一本书 Programming Microsoft ASP.NET 2.0 Core Reference 比较适合。但依笔者来看,还是到坊间找中文书比较便宜,原文书太贵了L这本书着重解释基础机制的运作原理,例如:各种程序代码、定义、资源等不同档案的配置、动态编译、加载与释放,Handler 与 Module 的设计,异步执行网页的方式,自行撰写控件等。其功用比较像是工具书,让你在实做较为艰深的功能时可以参考专章。或是查阅一些细部的设定,例如透过第三章 ASP.NET Configuration 寻找繁多的 machine.config 或 web.config 等设定之格式与意义。第四章的Building Custom ASP.NET Providers 是要深入了解 ASP.NET 2.0 的一个重点,Provider Model[1] 应该是此版最值得研究的架构之一。其它的技术,如动态编译与加载、Handler 与 Module、Web User Control 和 Custom ASP.NET Control...等,在本书虽都有深入的探讨,但毕竟它们自 ASP.NET 1.0 始就已经存在,2.0 对这些部份算是小幅改良。提供建置网站的程序基础架构时,如何能让开发者自由扩充是最难的项目。由于各企业多存在行之有年的数据结构与商业逻辑,如何让新建立的网站可以套用旧的资料,尽量保有以往对信息技术的投资。例如,旧的会员数据库已经存在,但如何让新撰写的 ASP.NET 2.0 网站可以使用到该数据库来认证会员身份,使用个人数据(profile)。抑或是网站导览的数据结构早已存在旧网站中,又如何让新的 SiteMapPath 或 TreeView、Menu 与 SiteMapDatSource 等控件与旧数据结合,好在以新技术撰写的网页中提供整合的网站导览。ASP.NET 2.0 针对上述问题的解法是 Provider Model。模型最具威力的地方就是从繁琐的表征中,抽象出核心运作之原理,在提纲挈领描绘出骨干后,你可以将相同的经验类推到各种功能开发中。就笔者来看,Provider 对 Design Pattern,对象导向分析、设计与撰写,组件化重用等方面,都做了绝佳的示范[2]。ASP.NET 2.0 这次新增的 membership、site maps、profile...等服务,都依照 Provider Model 的精神实做,也就是提供四个层次的架构:l           与使用者互动的控件(UI)l           标准的程序存取接口(API)l           存取数据提供者(Provider)l           实体中继数据结构在每一层,ASP.NET 2.0 都提供了直接可用的对象。但你仍可依自己的需要,随意置换某个服务任一层的组件,而其它层的既有架构照旧使用。除了上述内容之外,本书对于一些越来越热门的主题,例如 Ajax 和微软未来的 Atlas,或是为行动装置开发网页,作者都稍有着墨,但并未深入探讨。阅读建议再次强调,此书不是入门书。若你是 ASP.NET 2.0 的生手,但某些场合让你亲炙了许多 ASP.NET 2.0 炫丽的功能,例如很酷的控件、Master-Content 网页的设计,Theme 与 Skin 的套用、整合自身与 Reporting Services 的报表...等,这些都在前述作者的另一本书内,本书并不适合你。当你需要深入了解 ASP.NET 2.0 的基础原理,架构较为大型的网站,并希望重复使用自己曾经开发的模块或组件时,此书所讨论的主题:如 Handler 和 Module、自订 Provider、自订控件等,就很值得你深究。建议你先看完第一、四、七、十章,分别了解 ASP.NET 2.0 的档案配置与编译、提供各种服务的 Provider Pattern、Web Part架构,以及 site navigation 等技术。因为相较于其它内容,这四章或许会比较快用到J。其它的章节稍做浏览,让你往后钻研进阶功能时,知道在哪可以找到资源。本书的范例很多,且彼此独立,在翻阅各章内容时,可以同时执行一下范例程序,先了解功能为何,是否吸引你进一步深研该章节。不过,由于一些应用程序的基本设定可能与你的系统环境不合,因此,若不熟悉 ASP.NET 2.0 的设定与执行, SQL Server 数据库联机的方式,基本的 C# 语言,则可能很多范例执行起来会有问题L相关阅读ASP.NET 的中文书籍向来是许多作者的最爱,你可以驻足书店,寻找自己喜欢的风格。在此,笔者仅建议你逛逛以下的网站:l           MSDN:http://msdn.microsoft.com/asp.net/。微软技术的大本营不可不去J,对于初学者而言,以下的内容蛮不错的: http://msdn.microsoft.com/asp.net/learning/learn/newtodevelopment/default.aspx而 MSDN 为本书作者 Dino Esposito 提供的网页如下:http://msdn.microsoft.com/asp.net/community/authors/dinoesposito/default.aspxl           http://www.gotdotnet.com/ 分门别类地整理相关技术,而官方的讨论区也有相当丰富的内容 http://forums.microsoft.com/MSDN/default.aspx?SiteID=1 l           当然,恒逸讲师群所努力充实的 .NET Magazine 网站也可让你获益良多:http://www.netmag.com.tw@书名:Programming Microsoft ASP.NET 2.0 Application Advanced Topics@Dino Esposito 着 @Microsoft Press@售价:1650 元 
[1]相關資料可參閱 MSDN 所提供的說明與原始碼範例, http://msdn.microsoft.com/asp.net/downloads/providers/。ASP.NET 2.0 內建的各種服務,其預設的資料儲存區都是 SQL Server,在此網址有提供 C# 原始碼,實做各種 provider 存取放在 Access/Jet 資料庫內的中繼資料。或許使用哪種 DB 格式並不重要,但一窺各種 Provider 的 C# 原始碼,卻是練功的好方法J[2] 就筆者自己的感覺,它示範了 Factory、Adapter、Façade 等 design pattern。同時,ODBC、OLE DB、ADO.NET 似乎早已使用了這種設計方式,你可看到大家用的都是 driver、provider、adapter 等字樣J。不過,將各種 Web 網站服務的開發架構標準化,雖不是新想法,但的確是值得鼓勵與學習的新技術。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: