当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > .NET 4.0改进的介绍

ASP.NET
blog程序新版本V2.0 Beta完成,提供V1.0全部源码下载
“/”应用程序中的服务器错误
asp.net(c#)复数类(复数加减乘除四则运算)
asp.net(c#)不可访问,因为它受保护级别限制
asp.net(c#) 水仙花数
ASP.NET实现用图片进度条显示投票结果
asp.net(c#) MS AJAX的安装
asp.net(c#)有关 Session 操作的几个误区
ASP.net基础知识之常见错误分析
[.net] 操纵自如-页面内的配合与通信
c# static的全部用法收集整理
使CheckBoxList的Attributes属性生效(修改微软的一个bug)
在ASP.NET中使用Session常见问题集锦
[原创]完美解决Could not load file or assembly ''AjaxPro.2'' or one of its dependencies. 拒绝访问。
在Apache环境下成功的运行ASP.NET的注意事项
ClickOnce DIY全自动更新下载升级的自我实现
asp.net jscript 一句话木马
在ASP.Net中实现flv视频转换的代码
将DataTable中的一行复制到另一个DataTable的方法
在DataTable中执行Select("条件")后,返回DataTable的方法

ASP.NET 中的 .NET 4.0改进的介绍


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-23   浏览: 79 ::
收藏到网摘: n/a

.NET 4.0改进的介绍

核心服务

大部分的新特性都是围绕自定义和扩展来的,原先不能自定义的东西现在可以自定义了,可以自己扩展了,然后把自己的组件在web.config中配置即可应用我们自己的组件。

Web.Config精简

.NET框架4.0中会把大部分配置放到machine.config中,这样在web.config中甚至可以一行代码都不写。

自定义输出缓存策略

输出缓存对于改善性能有很大好处,在ASP.NET 4.0中可以自定义输出缓存的策略,比如把输出保存在磁盘中,外部的memcached服务中等等。甚至还可以定义一些高级规则,比如为A页面使用A输出缓存策略来把数据保存于内存中,为B页面使用B输出缓存策略来把数据保存于磁盘中。

<caching>

<outputCachedefaultProvider="AspNetInternalProvider">

<providers>

<addname="DiskCache"

type="Test.OutputCacheEx.DiskOutputCacheProvider, DiskCacheProvider"/>

</providers>

</outputCache>

</caching>

自启动的应用程序

ASP.NET 4.0和IIS 7.5配合可以设定一个预处理的Provider,这样在应用程序池启动或回收后IIS会自动调用这个Provider中的代码来处理,处理完毕之后才接受请求。

<preloadProviders>

<addname="PrewarmMyCache"

type="MyNamespace.CustomInitialization, MyLibrary" />

</preloadProviders>

永久重定向

如果使用Response.Redirect的话,返回302状态,客户端再发送一次请求到新的地址,在ASP.NET 4.0中提供了RedirectPermanent方法来永久重定向到某个地址。客户端或搜索引擎遇到301状态码会保存这个永久重定向地址,以后会直接访问定向后的地址,节省了一次往返。

压缩会话数据

如果使用进程外Session或SQL Server保存Session的话,会话数据需要进行序列化和反序列化,ASP.NET 4.0提供了使用GZIP压缩会话数据的特性来缩小会话数据流的大小。

<sessionState

mode="SqlServer"

sqlConnectionString="data source=dbserver;Initial Catalog=aspnetstate"

allowCustomSqlDatabase="true"

compressionEnabled="true"

/>

URL规则

在ASP.NET 4.0中可以自定义访问路径以及QueryString的长度,并且还可以设定路径中无效的字符,而在以前这些都不是可以定制的。

<httpRuntime requestPathInvalidChars="&lt;,&gt;,*,%,&amp;,:,\" maxRequestPathLength="260" maxQueryStringLength="2048"/>

自定义RequestVaidation

RequestValidateion虽然可以有效防止XSS注入等,但在以前验证规则是不可以自定义的,很多时候我们觉得这个规则太严格了只能关闭这个功能。在ASP.NET 4.0中可以自定义类来实现自己的验证规则。

<httpRuntime requestValidationType="Samples.MyValidator, Samples" />


对象缓存

System.Web.Caching.Cache大家很熟悉,甚至有的时候编写Windows和Windows服务程序的时候也会引用System.Web.dll来使用这个Cache功能。在4.0中这个功能在System.Runtime.Caching.dll中会有新的实现,并且也会更强大。

自定义Encoding

URL Encoding/HTML Encoding都是很常用的功能,在ASP.NET 4.0中我们可以继承System.Web.Util.HttpEncoder来自定义编码规则。

<httpRuntime encoderType="Samples.MyCustomEncoder, Samples"/>

AppDomain级别的性能检测

如果在一个进程中运行多个网站的话我们可能希望能监视到每一个网站的性能,在ASP.NET 4.0中我们可以开启AppDomain级别的性能检测。

<?xml version="1.0" encoding="UTF-8" ?>

<configuration>

<runtime>

<appDomainResourceMonitoring enabled="true"/>

</runtime>

</configuration>

文章来源:DIY部落

原文地址:http://bbs.diybl.com/18/20090820/5062.html