当前位置: 首页 > 编程语言 > C#

为什么在class.cs文件中写'Request'这个名字不存在?分享

时间:2023-04-11 01:40:24 C#

为什么在class.cs文件中写的时候名字'Request'不存在?我想将以下代码从c#aspx.cs文件移动到独立的class.cs文件中。字符串getIP=Request.ServerVariables["HTTP_X_FORWARDED_FOR"];如果(String.IsNullOrEmpty(getIP))getIP=Request.ServerVariables["REMOTE_ADDR"];此代码驻留在aspx.cs文件的page_load中并且工作正常,但它在类文件中引发错误。在“aspx.cs”文件中,“request”不需要“use”,也没有在此上下文中提供任何内容。我怎么解决这个问题?request是页面类的一个属性。因此,您不能从“独立”类访问它。然而,无论如何,HttpRequest可以通过HttpContext.Current获得varrequest=HttpContext.Current.Request;请注意,即使在静态方法中也是如此。但前提是您在HttpContext中(因此不在Winforms应用程序中)。所以你应该确保它不为空:if(HttpContext.Current!=null){varrequest=HttpContext.Current.Request;编辑:当然,您也可以将请求作为参数传递给使用它的方法。这是一个很好的做法,因为它不起作用。这样每个客户都会立即知道这个类/方法是否有效。它不起作用的原因是因为您无权访问类库项目中的服务器变量。您应该避免尝试使此操作成为Web类,而是通过普通参数将所需信息传递给类对象。以上是C#学习教程:为什么在class.cs文件中写'Request'这个名字不存在?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: