5

servicestackの新しいAPIを使用して、残りのサービスメソッドの1つからHttpResultを返しています。JsonServiceClientを使用してHttpResultを取得する方法はありますか?

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

httpresultのヘッダー情報を調べたい。

ありがとう。

4

1 に答える 1

6

HttpResultServiceStackWebサービスからのクライアント応答などはありません。

を使用しHttpResultて、サービスから返されるHTTP応答をカスタマイズします。たとえば、HTTPヘッダーを追加します。ただし、クライアントに表示される応答本文は、応答DTO(存在する場合)のみです。

fiddler、wireshark、chome web inspector(これがAjax呼び出しの場合)、またはServiceStackのRequest Loggerプラグインなどを使用して、HTTPトラフィックを検査します。

ServiceStackのRESTクライアントの無効な使用

また、メソッド(通常はPOST)をオーバーロードする代わりにclient.Delete()、などの適切なクライアントRESTAPIを使用することを検討してください。client.Get()T.Send()

サポートされていない匿名型の代わりに、ServiceClientで型付きDTOを使用します。

ServiceStackサービスクライアントを使用したHTTPヘッダーの検査

ServiceStackのサービスクライアントは、ローカルおよびグローバルのWebResponse(およびRequest)フィルターを提供します。これらのフィルターを使用して、その要求に対して返されたWebClientのHttpWebResponseをイントロスペクトできます。

client.ResponseFilter = httpRes => {
   httpRes.Headers.. //do something with returned headers
};
client.Delete(new Person { Id = 30, ...});
于 2012-11-08T20:54:03.663 に答える