基类获取当前用户问题
我用Session保存当前用户信息Session["UserInfo"]
BasePage类继承System.Web.UI.Page
用
public TUser CurrentUser
{
get
{
return (TUser)Session["UserInfo"];
}
}
页面继承BasePage类
用这个属性获取当前获取。
现在我ajax请求到ahsx一般处理文件。想获取当前用户。应该这么设计呢?
------解决方案--------------------那你直接用(TUser)Session["UserInfo"];获取不行?
------解决方案--------------------1.要在一般处理程序中获取其他页面的session值,需要引用名空间:
using System.Web.SessionState;
2.然后继承一个接口:IRequiresSessionState,如图:
3.然后就可以获得session值了:
HttpContext context = new HttpContext();
string s =context.Session["Verifycode"].ToString();
------解决方案--------------------有两种途径 一种就是ashx换成 aspx 在load方法结尾处 response.end()
还有就是 ashx 实现 session调用声明. 也即是IRequiresSessionState接口(没有任何方法的接口),
ashx就少了页面的复杂生命周期和一些属性.
其实 ashx用到了session 那就跟aspx没啥区别了.不纠结的话 就直接 aspx果断替换.