在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()
吗?
答案 0 :(得分:2)
WithCache()
扩展方法返回CachedServiceClient
的新实例,该实例增强JsonServiceClient
实例以管理围绕GET请求的本地HTTP缓存层。
OnUploadProgress
是一个回调文件上传通知。
您可以根据需要配置JsonServiceClient
:
var client = new JsonServiceClient("http://api.example.org") {
OnUploadProgress = (done, total) => ..
};
然后在修改后的实例上创建增强的缓存客户端,例如:
var cacheClient = client.WithCache();