gpt4 book ai didi

windows-8 - 如何将自定义授权 header 添加到Windows Store App OData客户端?

转载 作者:行者123 更新时间:2023-12-04 16:47:39 25 4
gpt4 key购买 nike

我正在使用Windows运行时构建Windows Store应用程序。我正在访问使用基本身份验证的OData服务。我正在使用WCF Data Services Tools for Windows Store Apps库(Microsoft.Data.Services.Client.WindowsStore)。

身份验证字符串是一种自定义格式,因此我不能仅使用NetworkCredential(username, password)。我需要将标题自己添加到我的DataServiceContext的每个请求中。

我尝试使用以下代码:

proxy.SendingRequest += (s, e) =>
{
e.RequestHeaders.Add("Authorization", authHeader);
}


但我收到错误:

'System.Net.WebHeaderCollection' does not contain a definition for 'Add' and no extension method 'Add' accepting a first argument of type 'System.Net.WebHeaderCollection' could be found

最佳答案

您可以使用新的SendingRequest2事件,该事件在构建请求之后并将其发送到服务器之前触发。

您可以使用RequestMessage.SetHeader(headername, value)方法设置标题。将值设置为null以删除标题。

proxy.SendingRequest2 += (sender, eventArgs) =>
{
eventArgs.RequestMessage.SetHeader("Authorization", authHeader);
};


WCF Data Services team blog进一步讨论:


触发SendingRequest2(及其不推荐使用的前任SendingRequest)
建立请求后。 WebRequest不允许您修改
构造后的URL。新事件可让您修改URL
在我们构建基础请求之前,您可以完全控制
请求。

关于windows-8 - 如何将自定义授权 header 添加到Windows Store App OData客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14001890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com