62,243
社区成员




public class WebModule : System.Web.IHttpModule, System.Web.SessionState.IRequiresSessionState
{
public void Init(System.Web.HttpApplication context)
{
context.AcquireRequestState += new EventHandler(context_AcquireRequestState);
}
void context_AcquireRequestState(object sender, EventArgs e)
{
System.Web.HttpContext context = (sender as System.Web.HttpApplication).Context;
// 处理伪静态地址信息。
if (context.Session == null) // Session空,未登录,调用并显示登录页面。
{
using (System.IO.FileStream fs = new System.IO.FileStream("d:\\webdata\\HTMLLogin.htm", System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
byte[] cxt = new byte[fs.Length];
fs.Read(cxt, 0, cxt.Length);
fs.Close();
context.Response.BinaryWrite(cxt);
}
}
else
{
if(context.Session["test"]==null)
{
context.Session.Add("test","this's a test");
}
else
{
context.Response.Write("<h4>WebModule.context_AcquireRequestState Value=:"+context.Session["test"].ToString()+"</h4><br />");
}
}
// 打印session测试结果。
context.Response.Write("<h4>WebModule.context_AcquireRequestState</h4><br />");
try
{
if (context.Session != null)
{
context.Response.Write("<h4 style='color:#ff0000;'>WebModule.context_AcquireRequestState:Session Enabled!</h4><br />");
}
else
{
context.Response.Write("<h4 style='color:#0000ff;'>WebModule.context_AcquireRequestState:Session Disable!</h4><br />");
}
}
catch (Exception)
{
context.Response.Write("<h4 style='color:#0000ff;'>WebModule.context_AcquireRequestState:Session Error!</h4><br />");
}
}
context.ApplicationInstance.CompleteRequest();
}
<system.web>
……
<httpModules>
<add name="WebModule" type="WebApp.WebModule,WebApp" />
</httpModules>
……
</system.web>
<system.webServer>
……
<modules runAllManagedModulesForAllRequests="true">
……
</system.webServer>
Server.Transfer(....)
(并且同时传送所有Form Datas)去访问一个aspx。然后在这个aspx中访问Session集合。
而你根本没有访问aspx啊。