2016-12-14 5 views
0

나는 클라이언트 IP를 표시하기 위해 클라이언트 IP 주소를 얻어야한다는 점에서 asp.net C#에서 작업 중입니다. 고정 IP를 사용하여 IIS 7에서 프로젝트를 호스팅하고 있습니다. 내 응용 프로그램을 연결할 수 있습니다.Asp.Net C#을 사용하여 클라이언트 IP 주소를 얻는 방법 - 우리 프로젝트가 IIS에서 호스팅 될 때

다음 코드를 사용하여 클라이언트 IP를 가져와야합니다. 하지만 난 ..

내가이 IP 192.168.1.18을받을 때마다 ... 나는 또한 또한 다음과 같은 코드를 사용하고

private void GetIP() 
    { 
     string userip = Request.UserHostAddress; 
     if (Request.UserHostAddress != null) 
     { 
      Int64 macinfo = new Int64(); 
      string macsrc = macinfo.ToString("X"); 
      if (macsrc == "0") 
      { 
       if (userip == "127.0.0.1") 
       { 
        //ScriptManager.RegisterStartupScript(this, GetType(), "Message", "alert('Visited Localhost')", true); 
        lblIPAddress.Text = userip; 
       } 
       else 
       { 
        lblIPAddress.Text = userip; 
       } 
      } 
     }    
    } 

다음 코드를 사용

을 올바른 IP 주소를 얻을 수 없다 하지만,

public static string GetLocalIPAddress() 
    { 
     var host = Dns.GetHostEntry(Dns.GetHostName()); 
     foreach (var ip in host.AddressList) 
     { 
      //if (ip.AddressFamily == AddressFamily.InterNetwork) 
      if (ip.AddressFamily != AddressFamily.InterNetworkV6) 
      { 
       return ip.ToString(); 
      } 
     } 
     throw new Exception("Local IP Address Not Found!"); 
    } 

내가 올바른 클라이언트의 IP 주소가 필요합니다 .. 하나 도움

012 전 서버에서 내 프로젝트를 호스팅하고 192.168.1.5, 같은 호스트의 IP 주소를 보여주는
+1

이것은 도움이 될 수 있습니다. http://stackoverflow.com/questions/735350/how-to-get-a-users-client-ip-address-in-asp -net –

답변

0

이전에 응답되었지만 HTTP_X_FORWARDED_FOR 및 REMOTE_ADDR 요청 변수를 사용하는 How to Get IP Address?과 비슷한 질문을 던졌습니다. 우리는 이것을 최근에 프로젝트에서 사용했고 잘 작동했습니다.

+0

당신이 클라우드에서 호스팅 할 때 작동합니다.하지만 우리가 우리 서버 (IIS)에서 호스팅 할 때 작동하지 않습니다 .. 그래서 도움이 필요합니다 .. – Surya

+0

우리는 IIS 서버에서이 도구를 사용했습니다. 아직도 작동합니다 – wolfman1001

+0

선생님 다시 한번 검사 해본 결과 192.168.1.18 – Surya