現在、アドホック サービス検出を実行して、ローカル サブネットで実行されている (不明な) サービスを検出できる WCF クライアントを使用しています。EndpointAddressユーザーがテキスト ボックスに URI を入力して使用するサービス エンドポイントを指定し、クライアントがこの URI を に解決し、その過程でサービスに関する追加のメタデータを収集する方法を実装したいと考えています。つまり、EndpointIdentityの Extensions プロパティで公開されている および追加のデータを収集する必要がありEndpointDiscoveryBehaviorます。
を使用してこれを達成しようとしていますが、プロパティDiscoveryClient.Resolve()に対して null しか受け取っていません。ResolveResponse.EndpointDiscoveryMetadata
String Address = "net.tcp://machine-name:12345/MyService"
DiscoveryClient discoveryClient = new DiscoveryClient(new UdpDiscoveryEndpoint());
var criteria = new ResolveCriteria()
{
Address = new EndpointAddress(Address)
};
var result = discoveryClient.Resolve(criteria);
//scv is null here.....
var svc = result.EndpointDiscoveryMetadata;
に関する情報はたくさんありますが、 についてDiscoveryClient.Find()はそれほど多くはありませんDiscoveryClient.Resolve()。
だから私の質問は:
- これは の使用目的
DiscoveryClient.Resolve()ですか? MetadataResolverここの方が適切ですか?EndpointAddressURI を に解決し、他のメタデータを取得するにはどうすればよいですか?