使用JsonServiceClient获取HttpResult

Tec*_*Xie 5 servicestack

我使用servicestack的新API从其他服务方法之一返回HttpResult.有没有办法使用JsonServiceClient获取HttpResult?

例如: JSonServiceClient.Send<HttpResult>("DELETE","person", new { PersonID = 30 });

我想检查httpresult的头信息.

谢谢.

myt*_*thz 6

没有HttpResult来自ServiceStack Web服务的客户端响应.

您可以使用a HttpResult来自定义从服务返回的HTTP响应,例如添加其他HTTP标头.但客户端看到的响应主体仍然只是响应DTO(如果有的话).

使用fiddler,wireshark,chome web inspector(如果这是一个Ajax调用)或类似ServiceStack的Request Logger插件来检查HTTP流量.

ServiceStack的REST客户端使用无效

还要考虑使用适当的Clients REST API等client.Delete(),client.Get()而不是重载T.Send()方法(通常是POST).

在ServiceClient中使用Typed DTO而不是不受支持的匿名类型.

使用ServiceStack服务客户端检查HTTP标头

ServiceStack的服务客户端提供本地全局 WebResponse(和请求)过滤器,您可以使用这些过滤器来内省为该请求返回的WebClient的HttpWebResponse,例如:

client.ResponseFilter = httpRes => {
   httpRes.Headers.. //do something with returned headers
};
client.Delete(new Person { Id = 30, ...});
Run Code Online (Sandbox Code Playgroud)