我正在使用 servicestack 的新 API 从其余服务方法之一返回 HttpResult。有没有办法使用 JsonServiceClient 获取 HttpResult?
例如:JSonServiceClient.Send<HttpResult>("DELETE","person", new { PersonID = 30 });
我想检查来自 httpresult 的标头信息。
谢谢。
我正在使用 servicestack 的新 API 从其余服务方法之一返回 HttpResult。有没有办法使用 JsonServiceClient 获取 HttpResult?
例如:JSonServiceClient.Send<HttpResult>("DELETE","person", new { PersonID = 30 });
我想检查来自 httpresult 的标头信息。
谢谢。
没有HttpResult
来自 ServiceStack Web 服务的客户端响应之类的东西。
您可以使用 aHttpResult
自定义从您的服务返回的 HTTP 响应,例如添加额外的 HTTP 标头。但是客户端看到的响应体仍然只是响应 DTO(如果有的话)。
使用 fiddler、wireshark、chome web 检查器(如果这是一个 Ajax 调用)或类似 ServiceStack 的Request Logger 插件来检查 HTTP 流量。
还可以考虑使用适当的客户端 REST API 等client.Delete()
,client.Get()
而不是重载T.Send()
方法(通常是 POST)。
在 ServiceClient 中使用 Typed DTO,而不是不支持的匿名类型。
ServiceStack 的服务客户端提供本地和全局WebResponse(和请求)过滤器,您可以使用这些过滤器来内省为该请求返回的 WebClient 的 HttpWebResponse,例如:
client.ResponseFilter = httpRes => {
httpRes.Headers.. //do something with returned headers
};
client.Delete(new Person { Id = 30, ...});