1

WCFサービスを使用していますが、クライアント側のコードを変更せずに、MachineNameやApplicationNameなどの呼び出し元の詳細情報を知る方法はありますか?

基本的に、これらの情報を渡すようにクライアントコードを変更することはできません。

サーバー側でSystem.Web.HttpContextを使用してこの情報を追跡しようとしましたが、HttpContext.CurrentがNULLです。それは適切な使い方ではないと思います。

なにか提案を?

ありがとうサラ

4

2 に答える 2

2

私はこの記事を通して答えを見つけました:OrcasのクライアントIPアドレス

そして、ここにコードのスニペットがあります(.NET 3.5を使用):

// Track the IP address and port of the calling client
OperationContext context = OperationContext.Current;
MessageProperties properties = context.IncomingMessageProperties;
RemoteEndpointMessageProperty endpoint = properties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
Trace.TraceInformation("Receive a document from {0}:{1} via {2}", endpoint.Address, endpoint.Port, properties.Via.AbsoluteUri);
于 2010-03-16T23:54:07.917 に答える
0

WCF 3.5でIPアドレスを取得できますが、それだけです(リターンURLを取得する可能性のあるデュプレックスサービスは別として)

于 2010-03-16T23:17:33.387 に答える