3
有人知道如何設置發現超時。默認值是10-15s,它接縫有點長...WCF和服務發現超時
在女巫方面是否必須配置?服務?客戶?
服務:
// Add a ServiceDiscoveryBehavior
host.Description.Behaviors.Add(new ServiceDiscoveryBehavior());
// Add a UdpDiscoveryEndpoint
host.AddServiceEndpoint(new UdpDiscoveryEndpoint());
客戶:
EndpointAddress endPoint = null;
endPoint = FindCalculatorServiceAddress();
static EndpointAddress FindCalculatorServiceAddress()
{
// Create DiscoveryClient
DiscoveryClient discoveryClient = new DiscoveryClient(new UdpDiscoveryEndpoint());
// Find IStringReverser endpoints
FindResponse findResponse = discoveryClient.Find(new FindCriteria(typeof(IStringReverser)));
if (findResponse.Endpoints.Count > 0)
{
return findResponse.Endpoints[0].Address;
}
else
{
return null;
}
}
在此先感謝
順便說一句,如果您通過FindProgressChanged和FindCompleted事件而不是同步的Find()方法使用FindAsync()方法,只要端點結果出現,就會觸發FindProgressChanged事件這意味着您可以立即訪問它們,而不必等到搜索結束。如果你對更多結果不感興趣,或者只是讓它運行到超時,那麼你可以選擇'CancelAsync()',此時'FindCompleted'觸發。 – Alex 2015-02-06 06:47:40