HttpRequest.UrlReferrer似乎不存在

时间:2015-09-05 07:44:12

标签: c# asp.net

我有一个使用MVC4的Web应用程序,但现在意识到它应该是一个Web API,因此我正在转向ASP.NET 4.5.2 Web API 2项目。

问题是,我在MVC项目中使用Request.ServerVariables[]时,我被告知这不是Web API中的“正确”方式,因此,我应该使用Request.RequestUrl < / p>

MSDN上的示例只是

 Uri MyUrl = Request.UrlReferrer;  //kaboom for me
 Response.Write("Referrer URL Port: " + Server.HtmlEncode(MyUrl.Port.ToString()) + "<br>");
 Response.Write("Referrer URL Protocol: " + Server.HtmlEncode(MyUrl.Scheme) + "<br>");

问题是,尽管引用System.Web Request UrlReferrer没有属性,但ContentHeaders,{{1} },MethodPropertiesRequestUri。 为什么我不能按MSDN example使用Version

1 个答案:

答案 0 :(得分:3)

我怀疑你只需要以不同的方式获取当前请求,因为它是在静态方法中而不是在你可以引用Request实例属性的上下文中:

var request = HttpContext.Current;
var referrer = request.UrlReferrer;
...