如果要启用StateServer中的Session状态,首先要在”控制面板”--“管理工具”--“服务”中,启用ASP.NET State Services(ASP.NET 状态服务),并将此服务设置为Automatic(自动启动)
启动ASP.NET状态服务后,需要配置ASP.NET应用程序来使用它。
我们需要在Web.Config文件中system.web节点中添加如下代码
<sessionState mode="StateServer" stateNetworkTimeout="20"
stateConnectionString="tcpip=127.0.0.1:42424" />
首先,mode属性被设为StateServer。接着,stateConnectionString属性用来指定ASP.NET状态服务器端的位置。连接位置被创建为在127.0.0.1,端口42424。最后,stateNetworkTimeout属性用来指定连接超时的秒数。
需要注意的是,此时必须把对象标注为可序列化后(使用Serializable特性标记需要序列化的类)才能在服务中进行存储。Microsoft建议所有的开发人员在开发过程中都使用进程外的会话状态,以避免项目如果切换到其他进程外的提供程序或SqlServer而导致站点的错误。