未触发Simple.OData BeforeRequest事件
本文关键字:BeforeRequest 事件 OData Simple | 更新日期: 2023-09-27 18:21:45
我正在使用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.
}
它似乎确实启动或触发过一次事件,然而,在项目重建后,它就不再起作用了。
Simple.Data.Client 3x中有一个已知的错误,在某些情况下会影响请求拦截。这个错误在即将发布的Simple.OData.Client第4版中得到了修复,目前该版本是预发布的,但它非常稳定,并具有大量新功能,包括对JSON有效负载和OData协议V4的支持。