14、Compressing Session Values
ASP.NET session外的进程的状态值保存在数据库或服务器上。这些都是以序列化格式保存。发送到服务器时候,更多更大的session将消耗更多的资源 。现在,这些可以被压缩在一个新的构建compressionEnabled属性中。这种对sessionState元素属性,可以在web.config这样被声明。
<sessionState
mode="SQLServer" stateConnectionString="connectionstring goes here"
compressionEnabled="true"/>
mode="SQLServer" stateConnectionString="connectionstring goes here"
compressionEnabled="true"/>
此选项将用于session外的进程。
15、Dynamic lookup:
有一个新的静态类型,dynamic。我们可以使用它作为任何对象的类型。如果有任何关于它的用法,我们能在运行时,得到它的错误。例如: 输出这将是:字符串 1。
dynamic integerValue = 1;
dynamic stringValue = " a string";
dynamic Result = integerValue + stringValue;
dynamic stringValue = " a string";
dynamic Result = integerValue + stringValue;
但是如果你改变最后一行
dynamic Result = integerValue & stringValue;
你不会得到任何下面的编译错误,在运行时,你会得到下面的错误。
Operator '&' cannot be applied to operands of type 'int' and 'string'
16、Optional Parameters
在asp.net 4之前,为了实现可选的参数,我们创建重载函数。但现在在C#中,可选参数没有更多的限制。但是象VB的可选参数必须放置到最后。例如:
public void FunctionOptionalParam(string Name, int Age, string Country = "")
我们可以不提要求的可选参数的值。
FunctionOptionalParam("My Full Name",20);
17、Named Parameters:
命名的参数可以忽略的参数顺序,在不同顺序的使用带名称的参数。例如:
public void FunctionNamedParam(int x, int y , int z)
在函数调用将是:
FunctionNamedParam(x:1, z:3, y:2);
在函数声明的顺序之前,虽然我们为参数设置了Z的值,但这些仍然等同于x = 1,ý = 2,z=3。