gpt4 book ai didi

c# - ASP.NET + C# HttpContext.Current.Session 为空(WebService 内部)

转载 作者:可可西里 更新时间:2023-11-01 08:16:30 26 4
gpt4 key购买 nike

这是我发起 session 的方式

 protected void Session_Start(object sender, EventArgs e)
{
HttpContext.Current.Session["CustomSessionId"] = Guid.NewGuid();
}

在我的类库下的解决方案中,我正在尝试访问它并获得空异常:

string sess = HttpContext.Current.Session["CustomSessionId"] ;

这是我在 web.config 和 app.config 中的配置(在我的库中)

    <system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
</system.serviceModel>
<system.web>
<pages enableSessionState = "true" />
<httpModules>
<add type="System.Web.SessionState.SessionStateModule" name="Session"/>
</httpModules>
<compilation debug="true" targetFramework="4.0" />
</system.web>

(应用程序配置)

最佳答案

根据您的评论,您似乎正在尝试访问 Web 服务中的 session 。 Web 服务是无状态的,它们应该是这样的。如果您想违反此规则并使它们有状态,您可以在经典的 ASMX Web 服务中启用 session ,如下所示:

[WebMethod(EnableSession = true)]
public void SomeMethod()
{
... invoke the method in your class library that uses Session
}

话虽这么说,在类库中使用 HttpContext.Current 是一种应该不惜一切代价避免的做法。

关于c# - ASP.NET + C# HttpContext.Current.Session 为空(WebService 内部),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7545711/

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