我正在尝试通过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();
有没有办法将自定义标头添加到客户端的内部请求?这样就可以将自定义标题添加到批处理请求中,但不会添加到内部请求中。
答案 0 :(得分:0)
尝试使用Client.UpdateRequestHeader()方法添加自定义标头。
var client = new ODataClient(settings);
client.UpdateRequestHeader(...);
var batch = new ODataBatch(client);