5

.NET Framework 4.0のコンソールアプリで実行されている、SSLなしの基本HTTPバインディングを使用する自己ホスト型WCFアプリがあります。

人間が読める文字列を「スモークテスト」として返すメソッドにWebGet属性があります。

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

WCFでそれを行うにはどうすればよいですか?

ありがとう。

4

1 に答える 1

6

を使用している場合BasicHttpBindingWebGet属性はおそらく無視されています(とを使用するエンドポイントに使用されますwebHttpBindingWebHttpBehavior

「Web」エンドポイント(WebHttpBinding / WebHttpBehavior)を使用している場合は、を使用できますWebOperationContext.Current.IncomingRequest.Headers[HttpRequestHeader.Referer]。System.ServiceModel.Web.dllへの参照がない場合は、 :HttpRequestMessagePropertyからを使用することもできます。OperationContext

HttpRequestMessageProperty prop;
prop = (HttpRequestMessageProperty)OperationContext.Current.IncomingMessageProperties[HttpRequestMessageProperty.Name];
var referer = prop.Headers[HttpRequestHeader.Referer]
于 2012-03-31T14:39:06.910 に答える