因此,我正在创建一个处理用户信息(如用户名,密码等)的类库。我想这样做,以便我可以在任何Web应用程序中引用该库,而不必不断重写用户信息部分。
在用户信息类库中,我要处理登录。我以前通过使用HttpContext.Current.Session
在属于Web项目的app_code中完成了此操作。但是,当我尝试在我的类库中使用它时(甚至在using System.Web
时),它会抛出一个编译错误,指出HttpContext在此上下文中不存在。我如何获得它?
最佳答案
创建与HttpContext之类的依赖项一起使用的实用程序类型类时,最好的选择是通过构造函数或方法调用将上下文或会话传递给类。这样,对于类的使用者来说就很明确,它需要此对象才能起作用。这也使您可以单独测试类。
更好的是,如果您正在使用一些具有基本类型的特定属性,则可以接受这些属性作为输入。这样,您就不会在实用程序库的UI框架上创建任何依赖项。
关于session - 如何在类库中访问HttpContext.Current.Session?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21067140/