当 HttpContext.Current 为空时,如何在 Elmah 的 ErrorMail_Mailing 事件中的 C# 中获取服务器变量(或至少客户端 IP 地址)?
我正在编写一些错误处理代码,我想确定它是否是本地连接(开发人员)。通常,我会查看 HttpContext.Current.Request.ServerVariables,但是如果身份验证过期,则在错误处理代码中 HttpContext.Current 为 null。
当 HttpContext.Current
为 null 时,我如何获取服务器变量(或者至少是启动请求的客户端的 IP 地址),以便我可以确定它是否是开发人员是否有自己的本地服务器。
更新:我能够在 elmah 传入的 ErrorMailEventArgs 参数中检索相关服务器变量,特别是 errorMailEventArgs.Error.ServerVariables。
I am working on some error handling code and I want to determine if its a local connection (developer) or not. Typically I look at HttpContext.Current.Request.ServerVariables
however in the error handling code if authentication expired HttpContext.Current
is null.
When HttpContext.Current
is null, how do I go about getting the server variables--or at least the IP address of the client that kicked off the request--so I can determine if its a developer on their own local server or not.
UPDATE: I was able to retrieve the relevant server variables in the ErrorMailEventArgs parameter passed in by elmah, specifically errorMailEventArgs.Error.ServerVariables.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我能够在 elmah 传入的
ErrorMailEventArgs
参数中检索相关服务器变量,特别是errorMailEventArgs.Error.ServerVariables
。I was able to retrieve the relevant server variables in the
ErrorMailEventArgs
parameter passed in by elmah, specificallyerrorMailEventArgs.Error.ServerVariables
.Request 对象应该为您提供请求的 IP。
The Request object should get you the requesting IP.
请求对象具有以下属性:
MSDN 链接
The request object has these properties:
MSDN Link