2012-03-31 17 views
5

.NET Framework 4.0のコンソールアプリケーションで実行されているSSLなしのBasic HTTP Bindingを使用して、自己ホストWCFアプリケーションを使用しています。WCF WebGet HTTPリファラーをキャプチャしますか?

"Smoke Test"として人間が読める文字列を返すメソッドにWebGet Attributeがあります。

ASP.NET Webフォームページがある場合は、クライアントがリダイレクト情報をボランティアするかどうかを確認するために、Request.UrlReferrerまたはServerVariables( "HTTP_REFERER")を使用します。

どうすればWCFで対応できますか?

ありがとうございました。 WebGet属性はおそらく無視されて

答えて

5

あなたがBasicHttpBindingを使用している場合は、(それがwebHttpBindingWebHttpBehaviorを使用するエンドポイント用に使用されています)。

「Web」エンドポイント(WebHttpBinding/WebHttpBehavior)を使用している場合は、WebOperationContext.Current.IncomingRequest.Headers[HttpRequestHeader.Referer]を使用できます。

HttpRequestMessageProperty prop; 
prop = (HttpRequestMessageProperty)OperationContext.Current.IncomingMessageProperties[HttpRequestMessageProperty.Name]; 
var referer = prop.Headers[HttpRequestHeader.Referer] 
:あなたはSystem.ServiceModel.Web.dllへの参照を持っていない場合は、 HttpRequestMessageProperty OperationContextからを使用することができます
関連する問題