Mit*_*tch 11 asp.net iis-7 httprequest
我正在捕获访问我网站特定部分的用户的一些信息,我收到一个奇怪的错误.我有一段代码执行以下操作.
string userIp = request.UserHostAddress;
Run Code Online (Sandbox Code Playgroud)
请求变量是HttpRequestBase.有时这工作得很好,我得到IP - 其他时候它抛出一个错误,我不知道如何防范.这是我的错误日志.
"值不在预期范围内.在System.Web.Hosting.IIS7WorkerRequest.GetServerVariableInternal(String name)的System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode,IntPtr errorInfo)中"
看起来我第一次去一个页面它工作得很好,如果我刷新,错误会被抛出,或者快速转到另一个捕获相同变量的页面.
jko*_*ska 10
我的记录器遇到了这个问题.我正在使用依赖注入,因为我怀疑你是.
在我的情况下,我收到此错误,因为我没有将我的记录器绑定到请求范围.因此,它存在于请求和维护某些HttpContext
属性之间,但在与IIS通信的那些上抛出异常.
由于我正在使用Ninject,这只是将InRequestScope()
方法从Ninject.Web.Common
命名空间添加到我的绑定.
简而言之:对于一个陈旧的实例,似乎抛出了这个异常,HttpContext
当某些属性被编组到IIS并且请求不再有效时,会被访问.
希望有所帮助!
ps NLog比你写的任何记录器都好.或者,如果您只想要例外,请放入ELMAH.
归档时间: |
|
查看次数: |
3375 次 |
最近记录: |