मैं एक साधारण डब्ल्यूसीएफ सेवा-क्लाइंट सेटअप (वर्तमान में एक कंसोल ऐप में स्वयं होस्टिंग द्वारा कार्यान्वित) में विज्ञापन-प्रसार खोज जोड़ने की कोशिश कर रहा हूं। विंडोज 7 पर वीएस -2010 का उपयोग करके डिबगिंग, और ऑनलाइन ट्यूटोरियल में जो कुछ भी मुझे मिल सकता है, लेकिन फिर भी - खोज क्लाइंट को कुछ भी नहीं मिला। कहने की जरूरत नहीं है कि अगर मैं सही सेवा समापन बिंदु पर क्लाइंट खोलता हूं तो मैं ग्राहक से सेवा तक पहुंच सकता हूं।डब्ल्यूसीएफ डिस्कवरी बस काम नहीं करती
सेवा कोड:
using (var selfHost = new ServiceHost(typeof(Renderer)))
{
try
{
selfHost.Open();
...
selfHost.Close();
सेवा app.config:
<?xml version="1.0"?>
<configuration>
<system.serviceModel>
<services>
<service name="TestApp.Renderer">
<host>
<baseAddresses>
<add baseAddress="http://localhost:9000" />
</baseAddresses>
</host>
<endpoint address="ws" binding="wsHttpBinding" contract="TestApp.IRenderer"/>
<endpoint kind="udpDiscoveryEndpoint"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceDiscovery/>
<serviceMetadata httpGetEnabled="True"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
ग्राहक खोज कोड:
DiscoveryClient discoveryClient = new DiscoveryClient(new UdpDiscoveryEndpoint());
var criteria = new FindCriteria(typeof(IRenderer)) { Duration = TimeSpan.FromSeconds(5) };
var endpoints = discoveryClient.Find(criteria).Endpoints;
'अंतिमबिंदुओं' संग्रह हमेशा खाली बाहर आता है। मैंने एक कमांड लाइन से, एडमिन कमांड लाइन से, कमांड लाइन से सेवा और क्लाइंट को चलाने की कोशिश की है - सब कुछ नहीं, लेकिन इसका कोई फायदा नहीं हुआ (स्थानीय मशीन पर, बिल्कुल नहीं, मैनेशन के लिए मुझे इसे चलाने की आवश्यकता होगी अपने पूरे सबनेट अंत में)
किसी भी मदद :-)
मैंने सेवा डिस्वरी व्यवहार में एक घोषणा समापन बिंदु भी जोड़ने का प्रयास किया है - जिसने – kbo
में मदद नहीं की है क्या क्लाइंट के लिए कोई app.config जानकारी है? –
क्या आपने एक गुंजाइश जोड़ने की कोशिश की है? –