ASP.NET(.asmx)webservices中的客户端IP地址
|
我在Silverlight中使用ASP.NET(.asmx)Web服务.由于无法在Silverlight中找到客户端IP地址,因此我必须在服务端登录.
Request.ServerVariables("REMOTE_HOST")
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]
HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
Request.UserHostAddress()
Request.UserHostName()
string strHostName = Dns.GetHostName();
string clientIPAddress = Dns.GetHostAddresses(strHostName).GetValue(0).ToString();
以上所有方法在我的本地系统上运行正常,但是当我在生产服务器上发布我的服务时,它开始给出错误,
解决方法如果您在System.Web.Hosting.ISAPIWorkerRequestInProc.GetAdditionalServerVar代码中使用Reflector查看,那就是我们所看到的:private string GetAdditionalServerVar(int index)
{
if (this._additionalServerVars == null)
{
this.GetAdditionalServerVariables();
}
return this._additionalServerVars[index - 12];
}
我看到为什么会引发NullReferenceException的两个原因: 1)_additionalServerVars成员存在多线程问题.我不认为这可能发生,因为A)我不明白为什么在测试期间服务器上会有很大的负载,而且B)ISAPIWorkerRequestInProc实例可能与一个线程有关. 2)您的服务器不是最新的,生产中的代码与我在机器上看到的代码不同. 所以我要做的就是检查服务器,确保它与.NET Framework dll保持同步. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-web-api – ASP身份OAuth令牌 – 我应该在移动应用
- asp.net-mvc – Html.HiddenFor值属性未设置
- asp.net – 在资源文件中使用HTML
- asp.net-mvc-5 – 使用FormsAuthenticationTicket的MVC Ide
- asp.net-mvc-3 – 在MVC 3的AuthorizeAttribute中获取模型数
- asp.net-mvc-3 – asp.net mvc 3 razor从IEnumerable获取一
- ASP.NET MVC表单和双字段
- 在asp.net应用程序中管理与数据库的连接
- asp.net-mvc-3 – 带有EF 4.1和EntityState.Modified的MVC3
- asp.net – 多久我应该打开/关闭我的Booksleeve连接?
- asp.net-mvc-3 – 用于ASP.NET MVC的Razor View
- asp.net mvc partialview @ Ajax.ActionLink不起
- asp.net – 用于Active Directory帐户的Oauth 2令
- asp.net – 当我按浏览器BACK按钮会发生什么?
- 为什么32位应用程序池在IIS中更有效?
- asp.net-mvc-5 – 在GenerateUserIdentityAsync方
- asp.net-mvc – JSON,ASP.NET MVC – MaxJsonLen
- 如何向ASP.NET Core 1.0 MVC项目添加项目引用
- asp.net – 如何使用Log4Net启用IP地址记录
- asp.net确保javascript只加载一次
