リクエストIPとヘッダーの取得
-
02-10-2019 - |
質問
Visual Studio デザイナー モードの Windows Workflow Foundation 4.0 でサービスを構築しています。
WF、VS デザイナー モードでクライアント IP と要求ヘッダーを取得するにはどうすればよいですか?
解決
あなたがやりたいことは、デザイナーのワークフローにInvokeMethodアクティビティ(これはツールボックスのプリミティブセクションにある)を配置することです。そこで、クラスタイプと呼び出される方法を指定します。このメソッド内では、OperationContextクラスを呼び出してクライアントアドレスと次のようなリクエストヘッダーを取得できます。
public class Class1 {
public static void SomeMethod() {
EndpointAddress clientAddress = OperationContext.Current.Channel.RemoteAddress;
MessageHeaders headers = OperationContext.Current.RequestContext.RequestMessage.Headers;
// Do something with the address and / or headers...
return;
}
}
他のヒント
受信要求から WCF の詳細を取得する方法は、IReceiveMessageCallback を実装し、そのクラスを NativeActivityContext.Properties に追加することです。OnReceiveMessage() 関数では、WCF OperationContext を受け取り、そこから任意のデータを取得できるようになります。
所属していません StackOverflow