Session

一.错误页配置文件的设置:

 当页面发生错误的时候,ASP.Net会将错误信息展示出来(Sqlconnection的错误就能暴露连接字符串),  这样一来不好看,二来会泄露网站的内部实现信息,给网站带来安全隐患,因此需要定制错误页,  发生错误时显示开发人员定制的页面。404页面放点广告也是好的嘛。 配置web.config,配置customErrors区域:  <customErrors mode="On" defaultRedirect="MyErrorPage.aspx">             <error statusCode="403" redirect="NoAccess.htm" />             <error statusCode="404" redirect="FileNotFound.htm" />         </customErrors> mode三个可选值:  On:总是显示定制错误页面;  Off:不显示定制错误界面,直接显示调用堆栈等异常信息;  remoteonly:对于本机的访问显示调用堆栈等异常信息,对于外部用户的显示定制错误页面。  一般设置为RemoteOnly,这样发生错误的话,管理员可以在服务器的浏览器中看详细错误信息,普通用户看不到。学习演示的时候mode设置为On,否则看不到定制页。

二.全局文件:  添加Web→全局应用程序类,注意文件名不要改。  全局文件是对Web应用生命周期的一个事件响应的地方  将Web应用启动时初始化的一些代码写到Application_Start中。应用关闭的时候Application_End调用。  当一个Session启动的时候Session_Start被调用,Session结束(用户主动退出或者超时结束)Session_End被调用。  当一个用户请求来的时候Application_BeginRequest方法被调用  当应用中出现未捕获异常,Application_Error被调用(常考,ASP.Net中的错误处理机制)  用HttpContext.Current.Server.GetLastError()获得异常信息,然后用Log4Net记录到日志中。

三.Session深入--状态提供程序(分三种)  1.InProc(进程内)-默认,速度快/但内存小/易丢失  2.进程外:可以在IIS或ASP.NET服务以外关闭继续保持状态,注意此时存储到  Session中的对象必须支持序列化(serilizable)  3.StateServer:使用aspnet_state.exe   2.1修改配置文件:   2.2<sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424"/> 设置是否允许远程使用,位置:C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters   2.3默认端口号:42424   2.4开启服务:我的电脑-管理-服务与应用程序-服务-ASP.NET State Service(ASP.NET 状态服务)  4.SQLServer   3.1新建ASPSTATE数据库使用运行Session数据库脚本:   临时储存区:InstallSqlState.sql & UninstallSqlState.sql   永久储存区:InstallPersistSqlState.sql & UninstallPersistSqlState.sql(需要使用SQLServerAgent服务-因为调度作业)   注意:之后配置数据库权限麻烦的话,可以在运行完aspnet_regsql.exe后在数据库中执行你想要使用的sql脚本,就可以不配置权限了。

 

 

 

 

 

 

 

 

posted @ 2012-09-01 08:01  zxp19880910  阅读(124)  评论(0编辑  收藏  举报