我想将以下一段代码从ac #aspx.cs文件移到一个独立的class.cs文件中.
string getIP = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (String.IsNullOrEmpty(getIP)) getIP = Request.ServerVariables["REMOTE_ADDR"];
Run Code Online (Sandbox Code Playgroud)
这段代码驻留在aspx.cs文件的page_load中工作得很好,但它在类文件中引发了错误.
在aspx.cs文件中,"请求"不需要"使用",并且在此上下文中不提供任何内容.
我该如何解决这个问题?
Tim*_*ter 49
请求是页面类的属性.因此,您无法从"独立"类访问它.
但是,无论如何都可以获得HttpRequest HttpContext.Current
var request = HttpContext.Current.Request;
Run Code Online (Sandbox Code Playgroud)
请注意,即使在静态方法中也是如此.但是只有你在HttpContext中(因此不在Winforms应用程序中).所以你应该确保它不是null:
if (HttpContext.Current != null)
{
var request = HttpContext.Current.Request;
}
Run Code Online (Sandbox Code Playgroud)
编辑:当然,您也可以将请求作为参数传递给使用它的方法.这是一种很好的做法,因为它没有用.通过这种方式,每个客户端都会立即知道此类/方法是否有效.
| 归档时间: |
|
| 查看次数: |
32556 次 |
| 最近记录: |