C# Simple OData Client 4.0:向内部批处理请求添加自定义头

C# Simple OData Client 4.0:向内部批处理请求添加自定义头,c#,odata,C#,Odata,我试图通过简单的OData客户端4.0批量发送多个请求。由于我需要为我们的内部路由服务器端定制头,我将它们添加到我的客户端的BeforeRequest部分。这也适用于整个批处理请求,但是批处理的内部请求没有这些所需的头,而且客户端似乎无法将它们添加到每个内部请求中 ... settings.BeforeRequest = (e) => { e.Headers.Add("Authorization", "OAuth oauth_consumer_key=" + apiKey);

我试图通过简单的OData客户端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();
。。。
settings.BeforeRequest=(e)=>
{
e、 Headers.Add(“授权”、“OAuth OAuth_consumer_key=“+apiKey”);
e、 标题。添加(“V”、“1”);
};
...
var批次=新ODataBatch(设置);
var resultingFonts=新列表();
//搜索字体名称,以使其不区分大小写。
foreach(fontNames中的字符串fontName)
batch+=async c=>resultingFonts.Add((等待c.For(“字体”).Filter(“…”).FindentrySync());
batch.ExecuteAsync().Wait();

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

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


有同样的问题。这个问题解决了吗?@BlueClouds我最终使用了微软的HttpClient,自己构建请求并将它们添加到批处理中。遗憾的是,我没有看到简单Odata客户端的解决方案。值得补充的是,IODataClient接口中没有包含此方法,因此要使用它,必须引用具体的ODataClient类。
var client = new ODataClient(settings);
client.UpdateRequestHeader(...);
var batch = new ODataBatch(client);