요청 간의 차이점은 무엇입니까?사용자 호스트 주소 및 요청.서버 변수["REMOTE_ADDR"].문자열로()
여기서는 이 두 가지 방법 중 하나를 사용할 수 있습니다.차이점은 무엇이고 어떤 것을 사용해야 합니까?
방법 1:
string srUserIp = "";
try
{
srUserIp = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
}
catch
{
}
방법 2:.
string srUserIp = "";
try
{
srUserIp = Request.UserHostAddress.ToString();
}
catch
{
}
단답:그 둘은 동일합니다.
긴 답변:두 가지 차이를 확인하려면 Reflector(또는 원하는 분해기)를 사용합니다.
의 코드는 다음과 같습니다.HttpRequest.UserHostAddress
속성은 다음과 같습니다.
public string UserHostAddress
{
get
{
if (this._wr != null)
{
return this._wr.GetRemoteAddress();
}
return null;
}
}
반환됨에 유의하십시오._wr.GetRemoteAddress()
.그_wr
변수는 변수의 인스턴스입니다.HttpWorkerRequest
물건.에서 파생된 다른 클래스가 있습니다.HttpWorkerRequest
어떤 것이 사용되는지는 IIS 6, IIS 7 또는 그 이상의 요소를 사용하는지에 따라 다르지만 웹 응용 프로그램에서 사용하는 모든 요소는 동일한 코드를 가집니다.GetRemoteAddress()
즉, 다음과 같습니다.
public override string GetRemoteAddress()
{
return this.GetServerVariable("REMOTE_ADDR");
}
당신이 볼 수 있듯이.GetRemoteAddress()
단순히 서버 변수를 반환합니다.REMOTE_ADDR
.
어떤 것을 사용할 것인지에 대해서는, 저는 제안하고 싶습니다.UserHostAddress
속성은 "확장 문자열"에 의존하지 않습니다.
해피 프로그래밍
차이가 없습니다.정확히 같은 값을 반환합니다.하지만 하나는 인텔리센스 친화적인 반면 다른 하나는 그렇지 않습니다.
언급URL : https://stackoverflow.com/questions/13994582/what-is-the-difference-between-request-userhostaddress-and-request-servervariabl
'programing' 카테고리의 다른 글
Excel VBA의 컬렉션에 키가 있는지 확인하는 일반적인 방법 (0) | 2023.08.14 |
---|---|
핀치를 감지하는 가장 간단한 방법 (0) | 2023.08.14 |
주어진 컨텍스트에서 레이아웃 인플레이터를 얻는 방법? (0) | 2023.08.14 |
마지막 3자리 순서로 주문 (0) | 2023.08.14 |
Ajax 응답 로드 상태를 백분율로 표시하는 방법은 무엇입니까? (0) | 2023.08.14 |