如何解决如何从外部dll访问基础项目会话?
我已经创建了一个Web应用程序,并向其中添加了一个dll(XDav.Settings)。在某些情况下,在此dll中,触发了一个事件,并调用了一个静态动作,如下所示:
using NikDMSTools.Controllers;
using XDav.Settings;
namespace NikDMSTools
{
public class XdavConfig
{
public static void Register()
{
XDavSettings.Events(e =>
{
e.OnProcessing(evt =>
{
if (evt.HttpVerp == XDav.Helper.HttpVerb.PUT)
{
DocumentController.xdav();
}
})
});
}
}
}
我叫DocumentController.xdav()。
public class DocumentController
{
public static void xdav()
{
var userinfo = System.Web.HttpContext.Current.Session["UserInfo"] as UserInfo;
}
}
但是遗憾的是,在xdav函数!!中System.Web.HttpContext.Current.Session为null。我如何访问其中的会话?
解决方法
您将其传递给函数:
public class DocumentController
{
public static void xdav(System.Web.HttpContext context)
{
var userinfo = context.Session["UserInfo"] as UserInfo;
}
}
并在当前上下文存在的地方这样称呼它:
DocumentController.xdav(System.Web.HttpContext.Current);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。