如何在Web项目之外访问ASP.Net Session对象(类库)
我正在实现自定义成员资格和角色提供程序,我需要在用户会话中存储所有角色/成员资格信息。
我正在类库项目(与网站项目不同)中实现这些自定义提供程序,并且需要访问其中的会话。这个想法是在第一次从数据库检索角色/成员资格相关信息后将其存储在会话中。
当我尝试使用访问会话时,
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可能是如果您关闭了会话,例如在处理程序中,或者页面可能有不使用会话的设置。
否则它通常应该返回一个会话对象,我在自己的项目中使用了相同的解决方案。
但您应该始终有代码来测试空指针,以防万一。
您测试过是否获得了 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?