Simple.OData BeforeRequest事件未触发

时间:2014-09-12 06:55:54

标签: events odata simple.odata

我使用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.
} 

它似乎确实触发或触发了一次事件,然而,在重建项目之后它再也无法工作了。

1 个答案:

答案 0 :(得分:0)

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