2

因此,我正在创建一个处理用户信息(如用户名、密码等)的类库。我想这样做,以便我可以在我的任何 Web 应用程序中引用这个库,而不必不断重写用户信息部分。

在用户信息类库中,我要处理登录。我之前在作为 web 项目一部分的 app_code 中使用HttpContext.Current.Session. 但是,当我尝试在我的类库中使用它时(即使是 while using System.Web),它会抛出一个编译错误,指出 HttpContext 在此上下文中不存在。我怎样才能访问它?

4

1 回答 1

8

在创建与 HttpContext 等依赖项一起使用的实用程序类型类时,最好的办法是通过构造函数或方法调用将上下文或会话传递给类。这样,对于你的类的消费者来说,它需要这个对象才能运行是明确的。这也允许您单独测试您的课程。

更好的是,如果您正在使用一些具有基本类型的特定属性,那么您可以接受这些属性作为输入。这样,您就不会在实用程序库的 UI 框架上创建任何依赖项。

于 2014-01-11T20:04:31.387 回答