Qual é a diferença entre Request.UserHostAddress e Request.ServerVariables [“REMOTE_ADDR”]. ToString ()

Aqui eu posso usar qualquer um desses dois métodos. Quais são as diferenças e qual devo usar?

Método 1:

    string srUserIp = "";
    try
    {
        srUserIp = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
    }
    catch
    {

    }

Método 2:

    string srUserIp = "";
    try
    {
        srUserIp = Request.UserHostAddress.ToString();
    }
    catch
    {

    }

questionAnswers(2)

yourAnswerToTheQuestion