我正在重写一个简单的 API GET 函数。我想让它更灵活,所以我尝试复制此 question 中给出的示例.
我的代码:
public IEnumerable<Distributeur> GetDistributeurs()
{
NameValueCollection nvc = HttpUtility.ParseQueryString(Request.RequestUri.Query);
var departementCode = nvc["departementCode"];
// BL comes here
var repository = new LeadRepository();
return repository.getDistributeurs(departementCode);
}
不幸的是,我在构建时收到错误“无法解析 RequestUri”:
Error 11 'System.Web.HttpRequestBase' does not contain a definition for 'RequestUri' and no extension method 'RequestUri' accepting a first argument of type 'System.Web.HttpRequestBase' could be found (are you missing a using directive or an assembly reference?)
我去了微软docs但它们几乎是空的。
请您参考如下方法:
Request 对象是 HttpRequest 的实例 - 而不是 HttpWebRequest。没有属性 HttpRequest.RequestUri。您要查找的属性是 Request.Url.Query:
HttpUtility.ParseQueryString(Request.Url.Query);
http://msdn.microsoft.com/en-us/library/system.web.httprequest.url.aspx
