#c# #asp.net
#c# #asp.net
Вопрос:
Идентичны ли два приведенных ниже метода?
HttpContext.Current.Request.UserHostAddress
и
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]
Ответ №1:
Кажется, так. По данным ILSpy,
HttpContext.Current.Request.UserHostAddress
сопоставляет с
// System.Web.Hosting.ISAPIWorkerRequest
public override string GetRemoteAddress()
{
return this.GetServerVariable("REMOTE_ADDR");
}
Так что, на мой взгляд, это одно и то же.
Комментарии:
1. До тех пор, пока HttpContext.Current. Запрос на самом деле является запросом ISAPIWorkerRequest. Я бы сказал, что вы не можете гарантировать, что они идентичны; тем более, что GetRemoteAddress() является виртуальным.
2. @ChristopheDebove ILSpy — это всегда удобный инструмент для изучения исходных текстов .NET Framework.