C # HttpWebRequest - Как определить, произошел ли HTTP 301?

Я провожу некоторое тестирование моих перенаправлений HTTP 301 (перемещенных навсегда) для веб-приложения ASP.NET MVC.

Я создал тестовую страницу со следующим code:

try
{
    var req = (HttpWebRequest) WebRequest.Create(url);
    resp = (HttpWebResponse) req.GetResponse();
    return Json(new {statusCode = (int) resp.StatusCode});  
}
catch (Exception exc)
{
    return Json(new { statusCode = (int)HttpStatusCode.InternalServerError });
}
finally
{
    if (resp != null) resp.Close();
}

Но проблема в том, что код состояния - HTTP 200 (OK), потому что он читает последний ответ (например, страницу, на которую он был перенаправлен).

URL попадет в мой контроллер перенаправления, который возвращает это :

return RedirectToRoutePermanent("SomeRoute", new { id = someId });

И это то, что я хочу захватить, а не 200 страниц, на которые он перенаправляется.

Как мне это сделать?

8
задан RPM1984 3 August 2011 в 01:02
поделиться