RequestInterceptorを使用すると、要求からHTTPヘッダーを抽出して処理できます。応答を更新することもできます。しかし、要求自体にHTTPヘッダーを更新および/または挿入して、後続のプロセッサー(例えば、インターセプター、許可マネージャー)が存在するようにする方法はありますか?WCF RESTサービス更新ヘッダー
答えて
WCFには、このような処理を行うための拡張ポイントのがあります。おそらく後にはIDispatchMessageInspector
を実装するカスタム動作があります。
次のようになりますクラスを作成します。
public class MyCustomBehavior : IDispatchMessageInspector, IEndpointBehavior
{
public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext)
{
//here you can work with request.Headers.
return null;
}
public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher)
{
endpointDispatcher.DispatchRuntime.MessageInspectors.Add(this);
}
//there are a bunch of other methods needed
//but you can leave their implementations empty.
//...
}
あなたは、あなたがサービスを開くプログラム的に前にサービスのエンドポイントにカスタム動作を追加することができます
host.Description.Endpoints[0].Behaviors.Add(new WcfService2.MyCustomBehavior());
パオロPialorsiはgood tutorialを持っていますメッセージ・インスペクタを書くことを扱う。
あなたはhttp://wcf.codeplex.comを見てきましたか?新しいHTTPスタックには、このようなすべての種類の処理を可能にするパイプラインモデルがあります。
プレビューのままではまだ使用できません。古いRESTスターターキットを使用しています。要求ヘッダーは読み取り専用です。公開密封クラスHttpRequestMessageProperty { ... public WebHeaderCollectionヘッダー{get; } ... } –
@amit_g RESTスターターキットのライセンスは、MSが実際のバージョンをリリースすると基本的には使用できなくなります。サーバー側のものについては、実際のバージョンは.Net 4にあり、ライセンスはもはや有効ではありません。 –
- 1. WCFは、RESTサービス
- 2. Rest Wcfサービス
- 3. WCF 4.0 REST Webサービス応答の変更
- 4. 認証WCF RESTサービス
- 5. WCFとIIS:サービスの更新
- 6. クロスドメインAJAX RESTサービスHTTPヘッダー
- 7. WCF REST APIレコードの一部更新
- 8. ASP.NETのREST WCFサービスとセッション
- 9. WCF Restサービスでのメモリキャッシング
- 10. WCF RESTサービスの例外ハンドラ
- 11. WCF RESTサービス内のCORSサポート
- 12. WCF Web API over WCF RESTサービスの利点
- 13. WCF Rest Service - HTTP応答ヘッダーへのアクセス
- 14. 新しいSilverlightアプリケーションのWCF、REST、POX、RIAサービスの選択方法
- 15. WPFアプリケーションでWCF Restサービスをホストする
- 16. REST WCF Win2003上のWindowsサービスのサービスホスティング(https)
- 17. WCF RESTサービス(汎用コレクションあり)
- 18. WCF RESTサービスに絞られました
- 19. RestSharp WCF RESTサービスへの投稿画像
- 20. WCF 4.0 RESTサービスへのjQueryクロスドメイン投稿
- 21. WCF RESTサービス:InstanceContextMode.PerCallが機能しない
- 22. WCF 4.0 Restサービス設定のコンテンツタイプ
- 23. クロスドメインjQuery AjaxリクエストとWCF RESTサービス
- 24. ByteArrayからWCF RESTサービスへのAndroidアップロードファイル
- 25. WCF RESTサービス - 2回呼びます
- 26. WCFサービスからHTTPヘッダーにアクセス
- 27. MVCパターンのモデルをWCF REST - サービスレイヤの実装に更新する
- 28. WCF RESTサービスは、私がJSONに設定defaultOutgoingResponseFormatを持つRESTテンプレートでWCFサービスを書かれている
- 29. PHP HTTPヘッダーREST
- 30. WCF/RIA:自身からWCF/RIAサービスを自動的に更新する
ヘッダーはMessageクラスで読み取り専用です。 public abstract MessageHeadersヘッダー{get; }。 –
はい、 'Headers'はget-onlyですが、' Headers.Add(...) 'を呼び出してコレクションを変更することはできます。 –