浅谈ASP.NET中的三种会话状态
浅谈ASP.NET中的三种会话状态
常用的ASP.NET的会话状态中有三种.分为进程内会话状态、状态服务器会话状态、SQL Server 会话状态
先谈谈进程内会话状态(Inprocess)这是一种默认的模式,但是只要在Web.config中进行简单的配置就可进行更改,具体内容下面会进行说明。进程内会话状态是一种最快,但是最不稳定的一种模式。如果重启IIS或服务器的话,会话状态将会消失。这种情况适合在一台服务器中或这没有WEB场的情况中。如果你关注的速度而不是稳定相建议你选择这种方式。
设置如下 <SessionState .... mode="InProc">
状态服务器会话局模式是ASP.NET中的新模式,但是它的速度比进程内会话慢,应为从会话状态到另一种会话状态要穿越不同的服务器和边界,因此会减慢其访问的速度。实际上会话状态是存储在一个名为ASP.NET的单独进程中,使用该进程的话需要将状态服务器设为启动。
ASP.NET状态服务器进程是单独与ASP辅助进程和IIS应用程序池的单独进进程,如果加此进程运行在另一台服务器上的话,甚至可以在IIS或服务器重启的时候保留会话状态,并是会话状态可以运行在WEB场中的多个服务器。
具体设置:
<configuration>
<system.web>
<sessionState mode="StateServer"
stateConnectionString="tcpip=127.0.0.1:42424"
cookieless="false"
timeout="20"/>
</system.web>
</configuration>
最后谈谈SQL Server会话状态
SQL Server状会话状态将会话状态保存在一个SQL Sever数据库服务器中,这样保证了存放会话状态的服务器或IIS重启后,可以完全保存之前的会话状态,同时也可以同时使用多台SQL Server服务器构成群集,让多台服务器同时使用会话状态,这样保证了会话状态的稳定性。但是要在SQL Server服务器中是用SQL Server会话状态的话,必须安装ASP.NET会话状态数据库。
具体设置:
<configuration>
<system.web>
<sessionState mode="SQLServer"
sqlConnectionString="Integrated Security=SSPI;
相关文档:
using System.Text.RegularExpressions; //引入的命名空间
以下为引用的内容:
//清除HTML函数
public static string NoHTML(string Htmlstring)
{
//删除脚本
Htmlstr ......
如果你已经有较多的面向对象开发经验,跳过以下这两步:
第一步 掌握一门.NET面向对象语言,C#或VB.NET。
我强烈反对在没系统学过一门面向对象语言的前提下去学ASP.NET。
ASP.NET是一个全面向对象的技术,不懂面向对象,那绝对学不下去!
第二步 对.NET Framework类库有一定的了解
可以通过开发Windows Form应用 ......
以前发过一个.NET上传文件的方法的,不过那个方法中对文件类型的判断只是对后缀名来进行判断的,这样假如我把一个txt文本文件的后缀名改为jpg了也可以上传,这样无意中就造成了安全问题。
刚刚从网上找了个方法,试验了一下,是能够辨认出正确的文件类型的,如下:
using System;
using System.Collections.Generic; ......
其实所谓的伪静态页面,就是指的URL重写,在ASP.NET中实现非常简单
首先你要在你的项目里引用两个DLL:
ActionlessForm.dll
UR ......
using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
namespace pub.mo
{
public class request
{
private request() { }
/// <summary>
/// 获取session
/// </summary>
/// <param name="_session_name" ......