[英]JsonServiceClient ResponseFilter doesn't trigger
也许我缺少一些简单的东西,但是我终生JsonServiceClient
在ServiceStack的JsonServiceClient
上让ResponseFilter
触发。 每次都会触发RequestFilter
(我正在向我的API发送一个API令牌)。 这是一个示例控制台应用程序,该示例显示ResponseFilter
从未写入控制台。
static void Main(string[] args)
{
using (var client = new JsonServiceClient())
{
client.ResponseFilter = httpResponse =>
{
Console.WriteLine("ResponseFilter: StatusCode == " + httpResponse.StatusCode);
};
try
{
System.Net.HttpWebResponse response = client.Get("https://app.asana.com/api/1.0/users/me");
}
catch (Exception e)
{
Console.WriteLine("Exception => " + e.Message);
}
}
Console.ReadLine();
}
我正在使用最新的ServiceStack v4.0.40.0
孤立地提供的示例代码,除了在using语句中放置的客户端之外,看上去都是正确的。
一旦创建了客户端,就可以在ResponseFilter上注册一个动作,如上所示。
我已经在空的ServiceStack ASP.NET解决方案中的GitHub上创建了一个示例项目,其中的单元测试显示了此过滤器的工作原理。
该代码的主要部分与您提供的代码段非常相似。
bool calledRepsonseFilter = false;
var jsonServiceClient = new JsonServiceClient("http://techstacks.io/");
jsonServiceClient.ResponseFilter = response =>
{
Console.WriteLine("A response!");
calledRepsonseFilter = true;
};
var res = jsonServiceClient.Get(new AppOverview());
Assert.That(res.TopTechnologies != null);
Assert.That(calledRepsonseFilter == true);
我在ServiceStack论坛上给出了相同的答案,但是以答案为基础更新了这个问题,以防其他人也对它有所帮助。
希望能有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.