天天看点

ASP.NET 2.0 新特性

第一部分:UI design——1.0和1.1对界面设计的支持不是很方便,现在提供了很多类似dreamweaver的设计功能,可以方便实现界面设计,如模板、样式设计等等。

Theme—— (customize all same controls in all pages)

SkinID (differ themes)

StyleSheetTheme(allow page-define mode)

Master Page——(define the same content in different pages, contains a ContentPlaceHolder to set other controls)

第二部分:介绍几个经典的高级控件

Login——封装好的登录控件,以前的六个控件合为一个。

CreateUserWizard——创建用户的向导,可以实现自定义的分步创建用户,比如可以设置用户条例等等,按自动生成各个步骤来实现用户的注册。通过这个控件的使用,可以自动生成aspnetdb的数据库,默认存储在SQL Sever 2005 Expresss 版本中,当然可以通过aspnet_regsql.exe配置使用哪个版本的数据库。

第三部分:Caching 

VS中提供了非常方便的缓存机制,如输出缓存、硬盘缓存、回调缓存、sql缓存等等。

1、Output cache: cache whole page——<% @ output cache Duration=“60” VarByPara=“none” %>

2、Disk output cache——(DiskCacheable = “true”)

3、Callback Cache ——<asp:Substitution ID= “” MethodName=“”>

4、Use API to define cache:

Response.Cache.SetExpires(Now.AddSeconds(60);

Response.Cache.SetCacheability(HttpCacheability.Public);

5、 Page Fragment Caching

 <asp: SqlDataSource>

 <asp:SqlParameters>

  <asp:QueryStringParameter Name = “State” QueryStringField=“State” DefaultValue=“CN”

 </asp:SqlParameters>

<asp: SqlDataSource>

6、SQL Caching

Config a Connection Pool, when server data is changed, fresh cache

aspnet_regsql.exe –S “.\SqlExpress” –E –d “Pubs” –ed

aspnet_regsql.exe –S “.\SqlExpress” –E –d “Pubs” –et –t “authors”

<%@ OutputCache Duration= “999999” SqlDependency=“Pubs:authors” VaryByPara=“none” %>

7、Cache Configuration

web.config:

<caching>

   <outputCacheSettings>

  <outputCacheProfiles>

   <add name="CacheFor60Seconds"  duration="60" />

  </outputCacheProfiles>

    </outputCacheSettings>

</caching>

.aspx:

 <%@ OutputCache CacheProfile="CacheFor60Seconds" VaryByParam="name" %>

第四部分:Membership Management——asp.net 2.0中提供了封装的成员管理模型,可以不用编写代码实现身份认证和角色管理。下面是 Forms Authentication的配置,没有通过认证的用户将自动跳转到登录的页面。 

<configuration>

 <system.web>

   <authentication mode="Forms">

   <forms name=".ASPXUSERDEMO"       loginUrl="Formslogin.aspx" 

   protection="All" timeout="60" />

  </authentication>

 </system.web>

</configuration>

同时,提供了方便的几个静态类实现用户和角色编程模型,如MemberShip类、MemberShipUser类和Role类等等,下面的代码就实现了用户的创建。

Create a new user

try {

}

catch (MembershipCreateUserException e) {

    // Find out why CreateUser failed

    switch (e.StatusCode) {

    case MembershipCreateStatus.DuplicateUsername:

      ...

    case MembershipCreateStatus.DuplicateEmail:

    case MembershipCreateStatus.InvalidPassword:

    default:

    }

同时,权限的配置也可以十分方便地实现,比如允许哪些用户访问那些目录资源等等,下面是web.config的配置内容,很容易理解:

 <location path="secured">

  <system.web>

   <authorization>

    <deny users="?"/>

    <allow users="*"/>

   </authorization>

  </system.web>

 </location>

上面的代码只允许注册用户访问secured目录下的内容,匿名用户将被拒绝。下面的配置说明只有角色为Administrators的用户才可以访问administrators_role目录下的内容,其他角色或者非注册用户均不可访问。

 <location path="administrators_role">

    <allow roles="Administrators" />

    <deny users="*"/>

其他:在2.0中,实现了更方便快捷的数据绑定,各种datasource等等,对原有的DataGrid也进行了升级包装——GridView,功能更加强大可控。总体给人的感觉就是,非常人性化!

本文转自 august 51CTO博客,原文链接:http://blog.51cto.com/august/7009,如需转载请自行联系原作者