我有一个使用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
没有属性,但Content
,Headers
,{{1} },Method
,Properties
和RequestUri
。
为什么我不能按MSDN example使用Version
?
答案 0 :(得分:3)
我怀疑你只需要以不同的方式获取当前请求,因为它是在静态方法中而不是在你可以引用Request
实例属性的上下文中:
var request = HttpContext.Current;
var referrer = request.UrlReferrer;
...