在web客户端类中使用ASP.NET响应和请求对象
我目前有一个webclient类,它使用会话变量为我的web应用程序维护会话,但我想改为使用cookies来维护会话。我当然不能访问这个类中的ASP.NET响应和请求变量。我必须将这些对象传递给webclient类吗?不确定您想要实现什么,但在ASP.NET应用程序中的任何自定义类中,您都可以通过在web客户端类中使用ASP.NET响应和请求对象,asp.net,Asp.net,我目前有一个webclient类,它使用会话变量为我的web应用程序维护会话,但我想改为使用cookies来维护会话。我当然不能访问这个类中的ASP.NET响应和请求变量。我必须将这些对象传递给webclient类吗?不确定您想要实现什么,但在ASP.NET应用程序中的任何自定义类中,您都可以通过 HttpContext.Current.Request 及 正如Yuriy指出的,您可以通过HttpContext.Current命名空间直接访问请求/响应对象,但这是一种不好的做法。您的类依赖于请
HttpContext.Current.Request
及
正如Yuriy指出的,您可以通过HttpContext.Current命名空间直接访问请求/响应对象,但这是一种不好的做法。您的类依赖于请求/响应对象,这些对象应该通过其构造函数传递到类中 e、 g 或者,如果您的类的生存时间长于单个http请求的持续时间,则可以将它们作为方法参数传入
public class SessionExample{
public SessionExample(){
}
public void DoSomething(System.Web.HttpRequest request, System.Web.HttpResponse response){
}
}
以这种方式构建代码使其更易于测试,并将为您省去路上的麻烦。会话与浏览器的cookie连接,因此,如果您需要读取会话,或者需要访问连接到浏览器的响应和请求并访问cookie的cookie,您是如何使用这个
WebClient
类的?我不明白为什么您要使用WebClient
类来存储会话数据,因为WebClient
设计用于从URL发送和接收数据。您当前如何访问会话?@Karl I thin OP表示他自己的类。Duh,我正在使用HttpContext.Current访问会话,我应该意识到我也可以用它来请求和响应。因此我的问题是“你目前如何访问会话”:)你能详细说明一下为什么这是一种不好的做法吗?
public class SessionExample{
public SessionExample(System.Web.HttpRequest request, System.Web.HttpResponse response){
}
}
public class SessionExample{
public SessionExample(){
}
public void DoSomething(System.Web.HttpRequest request, System.Web.HttpResponse response){
}
}