Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我需要将一个参数从请求头传递到API控制器操作方法。我该怎么办?_C#_Asp.net_Asp.net Mvc 4_Asp.net Web Api2 - Fatal编程技术网

C# 我需要将一个参数从请求头传递到API控制器操作方法。我该怎么办?

C# 我需要将一个参数从请求头传递到API控制器操作方法。我该怎么办?,c#,asp.net,asp.net-mvc-4,asp.net-web-api2,C#,Asp.net,Asp.net Mvc 4,Asp.net Web Api2,我正在使用WebAPI2.0进行REST服务开发,我需要将一个参数从请求头传递给API控制器操作方法。我该怎么办 默认情况下,API控制器从请求体读取参数。 如何使其从请求头读取参数 [HttpPost] [Route("abc")] public IHttpActionResult abcMethod(string s) { //some code } 我希望上面的abcMethod从请求头读取它的参数 请建议。这个怎么样 IEnumerable<string> heade

我正在使用WebAPI2.0进行REST服务开发,我需要将一个参数从请求头传递给API控制器操作方法。我该怎么办

默认情况下,API控制器从请求体读取参数。 如何使其从请求头读取参数

[HttpPost]
[Route("abc")]
public IHttpActionResult abcMethod(string s)
{
   //some code
}
我希望上面的abcMethod从请求头读取它的参数

请建议。

这个怎么样

IEnumerable<string> headerValues = request.Headers.GetValues("MyCustomID");
var id = headerValues.FirstOrDefault();
IEnumerable headerValues=request.Headers.GetValues(“MyCustomID”);
var id=headerValues.FirstOrDefault();

我对Web API 2还是新手,但我通常都是这样

string variale = this.Request.Headers.GetValues("HeaderParameter").First();
FirstOrDefault、Single、SingleOrDefault()或任何类似的函数都可以工作

此外,Lambda也可以工作:

string variable = this.Request.Headers.First(header => header.Key == "Parameter").Value.FirstOrDefault();

IMHO,请求头不是应用程序要使用的。Querystring参数单独由应用程序解释为参数。如果你能提供用例,进一步讨论会很有帮助。。在这种情况下,使用HttpPost方法读取某些敏感数据的最佳方法是什么?使用HTTP上的SSL或使用加密数据,我们可以发送敏感数据。由于HTTPS对整个有效负载进行加密,因此请求中的任何内容都不能被窃听。让我告诉您实际情况。我正在为一个移动应用程序编写REST服务。UI团队正在向我的post服务请求发送GUID和其他参数。我们希望GUID与请求主体的其他参数分开。除了请求主体和uri之外,还有其他方法吗?请善待我。我是一只新蜜蜂。如果我的qn不清楚,请告诉我。AFAIK,即使来自aAuth服务器的访问令牌也会在请求正文中发送,并且没有其他特殊方式。IEnumerable不包含FirstOrDefault的定义,也找不到扩展方法。我是否需要引用任何assembly??使用System.Linq添加
是的。它正在工作。谢谢!!但是saravanan在上面的评论中表示,应用程序并不打算使用标题。无论如何,我会把这个传达给我的合作开发者,然后决定!!再次感谢!!