简单的OData Client 4.0:向内部批处理请求添加自定义标头

时间:2017-08-10 12:07:41

标签: c# odata

我正在尝试通过Simple OData Client 4.0批量发送多个请求。由于我需要内部路由服务器端的自定义标头,我将它们添加到客户端的BeforeRequest部分。这也是针对整个批处理请求完成的,但批处理的内部请求没有这些所需的标题,似乎客户端无法将它们添加到每个内部请求。

...

settings.BeforeRequest = (e) =>
{
    e.Headers.Add("Authorization", "OAuth oauth_consumer_key=" + apiKey);
    e.Headers.Add("V", "1");
};

...

var batch = new ODataBatch(settings);
var resultingFonts = new List<FontDto>();

// Search for the font name, to lower makes it case insensitive.
foreach (string fontName in fontNames)
    batch += async c => resultingFonts.Add((await c.For<FontDto>("Fonts").Filter(" ... ").FindEntryAsync()));

batch.ExecuteAsync().Wait();

有没有办法将自定义标头添加到客户端的内部请求?这样就可以将自定义标题添加到批处理请求中,但不会添加到内部请求中。

1 个答案:

答案 0 :(得分:0)

尝试使用Client.UpdateRequestHeader()方法添加自定义标头。

var client = new ODataClient(settings);
client.UpdateRequestHeader(...);
var batch = new ODataBatch(client);