我使用Simple.OData adapter尝试连接到OData服务。该服务需要身份验证才能连接。 我已经注册了BeforeRequest事件来在做任何请求之前设置必要的标题。
但是,我的BeforeRequest根本没有触发,导致无法打开Context,因为凭据太丢失而且我的代码挂起并永远等待。
请参阅下面的代码,我错过了什么?
public void GetData()
{
var oDataFeed = new ODataFeed(ApiBaseUrl);
oDataFeed.BeforeRequest += BeforeRequest;
oDataFeed.AfterResponse += AfterResponse;
Context = Database.Opener.Open(ApiBaseUrl);
// do some more
}
private void BeforeRequest(HttpRequestMessage httpRequestMessage)
{
// add headers.
}
它似乎确实触发或触发了一次事件,然而,在重建项目之后它再也无法工作了。
答案 0 :(得分:0)
Simple.Data.Client 3x中存在一个已知错误,它会影响某些情况下的请求拦截。该错误已在即将发布的Simple.OData.Client版本4中修复,目前可作为预发布版本使用,但它非常稳定,并且具有大量新功能,包括支持JSON有效负载和OData协议V4。