0

我正在使用Simple.OData 适配器尝试连接到 OData 服务。该服务需要身份验证才能连接。我已经注册了 BeforeRequest 事件以在执行任何请求之前设置必要的标头。

但是,我的 BeforeRequest 根本没有被触发,这导致无法打开上下文,因为凭据太少了,我的代码挂起并永远等待。

请参阅下面的代码,我是否遗漏了什么?

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.
} 

它似乎确实触发或触发了一次事件,但是,在重建项目后它不再起作用。

4

1 回答 1

0

Simple.Data.Client 3x 中有一个已知错误会影响某些场景下的请求拦截。该错误已在即将发布的 Simple.OData.Client 版本 4 中修复,该版本目前可作为预发布版本提供,但它非常稳定,并带有大量新功能,包括支持 JSON 有效负载和 OData 协议 V4。

于 2014-11-05T09:01:15.227 回答