繁体   English   中英

.net 内核中的 HttpRequest.Query[] 是如何工作的?

[英]How does HttpRequest.Query[] in .net core works?


以下语句如何工作?

我试图在 Microsoft 文档中查看,但找不到太多信息

链接到 Microsoft 文档

var queryString = this.Request.Query[SomeConstant.QueryString];

让我们假设您使用任何端点

/someendpoint?foo=bar&name=Vamsi

您现在可以通过以下方式获取整个 QueryCollection:

var queries = this.Request.Query;

如果你想通过它的键检索一个特定的值,你可以使用它:

var foo = this.Request.Query["foo"]   //value: bar
var name = this.Request.Query["name"] //value: Vamsi

因此,回答您的问题: Query[SomeConstant.QueryString]正在通过访问特定键来访问当前请求的 QueryCollection,该键存储在名为SomeContant.QueryString的变量中

这里的查询 object 是一个 IQueryCollection

IQueryCollection 实现了两者:

IEnumerable<KeyValuePair<String,StringValues>>
IEnumerable

假设我们有以下 Url: http://localhost/home/index?code=A000

您可以将其视为字典的键值对,我们有一个表示查询字符串参数名称的键(例如:代码),我们有一个值(例如:A000)

为了从 url 中检索代码,您必须在该列表中搜索并找到该名称。 为此,您调用Query["code"]

在您的情况下SomeConstant.QueryString是在您的项目中某处定义的常量,在 class 中,名称为SomeConstant和名称为QueryString的常量,此常量的值为"code"

public Class SomeConsant{
    public const string SomeConstant = "code";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM