我正在 http 处理程序中创建一个 session 并为其分配某种值现在我想在 .aspx 页面中访问这个值但是我发现我的 session 的空值是新的所以我不能处理这个如果你们中的任何一个知道答案请尽快回复 这是我的 .ashx 代码
public class login_handler : IHttpHandler, IReadOnlySessionState,System.Web.SessionState.IRequiresSessionState
{
string MethodName = string.Empty;
string CallBackMethodName = string.Empty;
object Parameter = string.Empty;
DbUser _DbUser = new DbUser();
public void ProcessRequest(HttpContext context)
{
context.Response.Write(check(context));
context.Response.Redirect("project.aspx");
}
public string check(HttpContext context)
{
JsonResponse _response = new JsonResponse();
System.Web.Script.Serialization.JavaScriptSerializer jSearializer =
new System.Web.Script.Serialization.JavaScriptSerializer();
try
{
User _U = new User();
_U.email_address = context.Request.Params["email_address"].ToString();
_U.password = context.Request.Params["password"].ToString();
string company_name = string.Empty;
int company_id;
_response.IsSucess = true;
_response.CallBack = CallBackMethodName;
_response.ResponseData = _DbUser.check_user(_U);
context.Session["company_id"] = _DbUser.check_company(_U);
// in context.Session["company_id"] i got the value 10.
}
catch (Exception ex)
{
_response.Message = ex.Message;
_response.IsSucess = false;
}
return jSearializer.Serialize(_response);
}
public bool IsReusable
{
get
{
return false;
}
}
}
这是我的 .aspx 代码
protected void Page_Load(object sender, EventArgs e)
{
if (Session["company_id"] != null)
{
int a = (int)Session["company_id"];
}
此处 if(Session[company_id] != null 返回 false 请帮助我知道如何在此页面中获取 session 的值
这是我的 web.config 代码
<sessionState mode="InProc" customProvider="DefaultSessionProvider">
<providers>
<add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="junaidcrmConnectionString" />
</providers>
</sessionState>
最佳答案
像这样尝试删除 IReadOnlySessionState
public class login_handler : IHttpHandler,System.Web.SessionState.IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
context.Session["mySession"]="ABC";
}
}
关于c# - 在 .ashx 文件中创建了一个 session 并想在 .aspx 页面中访问但我发现了空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32072583/