Asp.net core 如何在ASP.NET 5中使用Uri和查询字符串

Asp.net core 如何在ASP.NET 5中使用Uri和查询字符串,asp.net-core,asp.net-core-mvc,Asp.net Core,Asp.net Core Mvc,以前在旧的MVC和WebApi请求类型中(HttpRequestBase和HttpRequestMessage)具有类型为NameValueCollection的属性QueryString)。它表示请求查询字符串中的键值对。 现在在AspNet5中,HttpRequest有QueryString属性,其类型是QueryStringstruct。但它只是一个字符串值的包装器。它没有值、索引器和IEnumerable。没什么 它应该如何与QS中的值一起工作 关于使用URI,也有类似的问题。以前我们有

以前在旧的MVC和WebApi请求类型中(
HttpRequestBase
HttpRequestMessage
)具有类型为
NameValueCollection
的属性
QueryString
)。它表示请求查询字符串中的键值对。 现在在AspNet5中,HttpRequest有
QueryString
属性,其类型是
QueryString
struct。但它只是一个字符串值的包装器。它没有值、索引器和IEnumerable。没什么

它应该如何与QS中的值一起工作


关于使用URI,也有类似的问题。以前我们有
HttpRequestBase.Url
HttpRequestMessage.RequestUri
类型的
System.Uri
。现在只需要字符串(PathBase、Path、QueryString)。System.Uri有什么问题?为什么要放弃它?

在beta-3中,
HttpRequest
还有一个
Query
属性,它是一种新类型,
IReadableStringCollection
。据我所知,这与
NameValueCollection
的行为几乎相同。我通过
请求将其用于我的控制器。Query

我认为这是对存储库的一个建议,而不是在这里。@tugberk我很难提前知道他们是重构/重新设计了一些东西还是只是删除了一些东西(所有东西都改变了!)。在这里被问到:是的,就是这样。有关更多信息,请参阅实际上
IReadableStringCollection
与它是只读的,而
NameValueCollection
是读/写的。