如何在Web项目之外访问ASP.Net Session对象(类库)

发布于 2024-09-29 08:25:28 字数 273 浏览 10 评论 0原文

我正在实现自定义成员资格和角色提供程序,我需要在用户会话中存储所有角色/成员资格信息。

我正在类库项目(与网站项目不同)中实现这些自定义提供程序,并且需要访问其中的会话。这个想法是在第一次从数据库检索角色/成员资格相关信息后将其存储在会话中。

当我尝试使用访问会话时,

System.Web.HttpContext.Current.Session

我将其作为空对象(对象引用未设置为对象的实例。

为什么会话结果为空?

I am implementing a custom membership and role providers where I need to store all the role/membership information in the user's session.

I am implementing these custom providers inside a class library project (different from the website project) and need to access the session in them. The idea is to store the role/membership related information in the session after retrieving them for the first time from the database.

When I try to access the Session using

System.Web.HttpContext.Current.Session

I get this as a null object (Object reference not set to an instance of an object.

Why is the session turning out to be null?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

似最初 2024-10-06 08:25:28

可能是如果您关闭了会话,例如在处理程序中,或者页面可能有不使用会话的设置。

否则它通常应该返回一个会话对象,我在自己的项目中使用了相同的解决方案。

但您应该始终有代码来测试空指针,以防万一。

您测试过是否获得了 HttpContext 吗?

Could be if you have sessions turned off, in a handler for example or maybe the page has a setting for not using session.

Otherwise it should normally return a session object, I have used the same solution in my own projects.

But you should always have code to test for null pointers, just in case.

Have you tested that you get a HttpContext at all?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文