1 protected void Application_AcquireRequestState(Object sender, EventArgs e)
2 {
3 HttpApplication happ = (HttpApplication)sender;
4 HttpContext context = happ.Context;
5 string url = context.Request.RawUrl;
6 string path = url.Split('/')[1];
7 switch (path)
8 {
9 case "user":
10 case "User":
11
12 if (HttpContext.Current.Session != null)
13 {
14 if (HttpContext.Current.Session["user"] == null)
15 {
16 Response.Redirect("/login/index.aspx");
17 }
18 }
19 else
20 {
21 Response.Redirect("/login/index.aspx");
22 }
23 break;
24 case "admin":
25 break;
26 default:
27 break;
28 }
29 }
我是想对请求路径进行过滤,比如说是当访问user文件夹下的文件一定登陆才行,看我上面写的,可是由于我在user文件夹下的某个文件里用了AJAX,这时候 if (HttpContext.Current.Session != null) 这句就一直成立了,我想知道怎么才能在用ajax的时候也传送上下文
用ASPX,不用ashx的文件。
ashx對session不支持
或者ashx继承一下 System.Web.SessionState.IReadOnlySessionState 的接口
public class Handler : IHttpHandler, IRequiresSessionState
{
}