- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在捕获有关访问我网站特定部分的用户的一些信息,但出现了一个奇怪的错误。我有一段代码执行以下操作。
string userIp = request.UserHostAddress;
请求变量是一个 HttpRequestBase。有时这工作得很好,我得到了 IP - 其他时候它会抛出一个错误,我不知道如何防范。这是来 self 的错误日志。
“值不在预期范围内。在 System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) 在 System.Web.Hosting.IIS7WorkerRequest.GetServerVariableInternal(字符串名称)”
似乎我第一次访问某个页面时效果很好,但如果我进行刷新或快速转到捕获相同变量的另一个页面,则会抛出错误。
最佳答案
我的记录器遇到了这个问题。我正在使用依赖注入(inject),我怀疑你也是如此。
就我而言,我收到此错误是因为我没有将记录器绑定(bind)到请求范围。因此,它处于请求之间并维护一些 HttpContext
属性,但在与 IIS 通信的属性上抛出异常。
由于我使用的是 Ninject,因此只需将 InRequestScope()
方法从 Ninject.Web.Common
命名空间添加到我的绑定(bind)即可。
简而言之:当某些属性被编码到 IIS 并且请求不再有效时,HttpContext
的过时实例似乎会引发此异常,被访问。
希望有帮助!
附: NLog 比您编写的任何记录器都要好。或者,如果您只是想要异常(exception),请加入 ELMAH。
关于asp.net - HttpRequestBase.UserHostAddress 抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9179217/
我的解决方案(这是另一个解决方案的副本)报告错误,因为它找不到 HttpRequestBase。 我的代码引用了 system.web 和 system.web.mvc。 这个类是否仍然存在于 MVC
我正在使用 HttpRequestBase,我想在使用之前将请求完整记录到日志文件中。 默认的 toString 只返回请求行,我想打印所有的头、参数、请求正文等... 有办法吗? 最佳答案 Http
使用上有什么区别 org.apache.commons.httpclient.HttpMethodBase和 org.apache.http.client.methods.HttpRequestBas
我正在捕获有关访问我网站特定部分的用户的一些信息,但出现了一个奇怪的错误。我有一段代码执行以下操作。 string userIp = request.UserHostAddress; 请求变量是一个
我是 MEF 的新手,我一直习惯使用 autofac,它会在请求的生命周期范围内自动注册所有“Web 请求”范围的对象,因此您始终可以在依赖项中解析 HttpRequestBase 和类似对象. 有没
我开始为我的 API 使用 Owin 自托管,现在我正在尝试修复一些测试,这些测试开始失败,因为 Owin 不支持 HttpContext.Current 现在我无法从 IOwinContext 获取
我正在编写一段 Owin 中间件,我需要在其中使用一些遗留代码,这些代码使用 HttpRequestBase 作为方法参数。遗留代码不遵循 SOLID,因此不可能将其扩展为使用 OwinRequest
ASP.NET 中的这些类有什么区别?我发现这些类之间没有继承关系。 下面的代码返回一个 HttpRequestWrapper 的实例,它是一个 HttpRequestBase 并且有一个 HttpR
我的问题与此相反: How do I convert an HttpRequestBase into an HttpRequest object? 在我的 ASP.NET MVC 应用程序中,我有一个
在我的 ASP.NET MVC Controller 中,我有一个需要 HttpRequest 对象的方法。我所能访问的只是一个 HttpRequestBase 对象。 我可以以某种方式转换它吗? 我
我有一个 View 和 Controller ,允许用户将文件上传到服务器。这是在 View 中使用 input type='file' 以及在 Controller 中通过获取 Request.Fi
我正在将一个简单的应用程序从 ASP.NET MVC 移植到 WebForms,我应该传递一个 HttpRequestBase 的实例。到一个方法,但我只找到了 HttpRequest 的实例, 公开
使用 Visual Studio 创建了 MVC5 WebAPI2 项目 创建了一个基本的 JSON POST Post 参数导致 HttpRequestBase.GetBufferedInputSt
我在这个方法上遇到了这个错误: [HttpGet] public HttpResponseMessage Search([ModelBinder(
我的grails应用程序中出现TypeNotPresentException。下面是Stacktrace片段 [INFO] [groovyc] java.lang.TypeNotPresentEx
我正在重写一个简单的 API GET 函数。我想让它更灵活,所以我尝试复制此 question 中给出的示例. 我的代码: public IEnumerable GetDistributeurs(
我是一名优秀的程序员,十分优秀!