使用不在IIS上运行的DNS主机获取用户IP地址

时间:2017-06-01 07:56:11

标签: c# iis dns

我正在运行一个必须获取当前用户IP地址的应用程序,当从VS运行应用程序时,该功能似乎正常工作,但是当部署在IIS上时它完全中断,这里是获取用户IP的代码< / p>

 public static string GetUserIP()
 {
   string strHostName = "";
   strHostName = System.Net.Dns.GetHostName();

   IPHostEntry ipEntry = System.Net.Dns.GetHostEntry(strHostName);

   IPAddress[] addr = ipEntry.AddressList;

   return ipEntry.AddressList.Last().ToString();
}

我有另一种方法,它使用GetUserIP()方法的返回值,这里是代码

private void SaveSmsDetails(string cellNumber, string message, string userLogonName) { string[] userIP = IPAddressGetter.GetUserIP().Split('.'); }

现在这个方法抛出一个索引超出范围异常,这意味着GetUserIP方法没有返回任何值,因此Split方法崩溃了,有什么我需要做或改变或者可能必须要做的事情IIS服务器。 注意:IIS版本为8.5.9

0 个答案:

没有答案