【发布时间】:2018-05-23 17:05:29
【问题描述】:
我正在尝试通过 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();
有什么方法可以将我的自定义标头添加到客户端的内部请求中?以便将自定义标头添加到批处理请求中,但不会添加到内部请求中。
【问题讨论】:
-
遇到同样的问题。解决了吗?
-
@BlueClouds 最后我使用了 Microsoft HttpClient,自己构建请求并将它们添加到批处理中。遗憾的是,我没有看到 Simple Odata Client 的解决方案。