gpt4 book ai didi

c# - 在 .ashx 文件中创建了一个 session 并想在 .aspx 页面中访问但我发现了空值

转载 作者:太空宇宙 更新时间:2023-11-03 13:01:49 26 4
gpt4 key购买 nike

我正在 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com