马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP脚本是采用明文(plaintext)方式来编写的。session|session
//注重,必要援用System.Runtime.Serialization.Formatters.Soap.dll程序集
publicconststringSESSIONDATAPATH="C:SessionData";
privatevoidApplication_AcquireRequestState(objectsender,EventArgse)
{
System.IO.FileStreamfs;
System.Runtime.Serialization.Formatters.Soap.SoapFormattersf=newSystem.Runtime.Serialization.Formatters.Soap.SoapFormatter();
try
{
//猎取特定的cookie,假如找不到,则加入.
HttpCookiecookie=Request.Cookies["PermSessionID"];
if(cookie==null)
{
//假如找不到,则天生一个(利用伪随机的SessionID)
cookie=newHttpCookie("PermSessionID",Session.SessionID);
//使该cookie在1礼拜以后到期
cookie.Expires=DateTime.Now.AddDays(7);
//将其发往客户端扫瞄器
Response.Cookies.Add(cookie);
}
//文件名即是该cookie的值
stringpermSessionId=cookie.Value;
//天生数据文件的称号
stringfilename=SESSIONDATAPATH+permSessionId.ToString()+".xml";
//翻开文件,假如堕落,则加入
fs=newSystem.IO.FileStream(filename,IO.FileMode.Open);
//反序列化包括值的HashtableHashtableht=(Hashtable)sf.Deserialize(fs);
//将数据移到Session汇合中
Session.Clear();
foreach(stringkeyinht.Keys)
{
Session(key)=ht(key);
}
}
Catch(Exceptionex){}
Finally
{
if(fs!=null)fs.Close();
}
}
以上代码完成了会话耐久话的历程,AquireRequestState事务处置程序中的代码会试图读取一个名为PermSessionID的特别的客户端cookie。该cookie的值被视为一个XML(在服务器上)的称号,该XML文件包括在前一个哀求停止时保留上去的Session变量的值,因而代码会在页面看到新值之前添补Session汇合。假如该cookie尚不存在,申明如今看到的是从客户端收回的第一个哀求。以是代码会创立cookie,并在其外部寄存举世无双的字符串。同时也应当在ReleaseRequestState事务里创立一个服务真个XML文件,将一切Session变量序列化到该XML文件中。</p>在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。 |