JsonServiceClient的OnUploadProgress可以与.WithCache()结合使用吗?

时间:2017-06-28 10:00:04

标签: c# servicestack

在ServiceStack中,您可以创建一个JsonServiceClient并像这样收听上传进度:

var client = new JsonServiceClient("http://api.example.org");
client.OnUploadProgress += (done, total) => {
};

然而,当将其与缓存结合时:

var client = new JsonServiceClient("http://api.example.org").WithCache();

这不会起作用,因为WithCache()会返回IServiceClient而不会实现OnUploadProgress

我可以在使用OnUploadProgress时使用WithCache()吗?

1 个答案:

答案 0 :(得分:2)

WithCache()扩展方法返回CachedServiceClient的新实例,该实例增强JsonServiceClient实例以管理围绕GET请求的本地HTTP缓存层。

OnUploadProgress是一个回调文件上传通知。

您可以根据需要配置JsonServiceClient

var client = new JsonServiceClient("http://api.example.org") {
    OnUploadProgress = (done, total) => ..
};

然后在修改后的实例上创建增强的缓存客户端,例如:

var cacheClient = client.WithCache();