SORU
8 Ocak 2009, PERŞEMBE


Neden yok't benim ChannelFactory bitiş noktası yapılandırması mü?

Miguel XML üzerinde Castro'nun mükemmel bir makale here takip ediyorum ve tüm iyi, aşağıdaki kodu dışında çalışıyor

public AdminClient()
{
    ChannelFactory<IProductAdmin> factory = new ChannelFactory<IProductAdmin>();
    productAdminChannel = factory.CreateChannel();
}

Benim app.yapılandırma dosyası, aşağıdaki yapılandırma var:

<system.serviceModel>
    <client>
    	<endpoint address="net.tcp://localhost:8002/ProductBrowser"
    			  binding="netTcpBinding"
    			  contract="Contracts.IProductAdmin" />
    </client>
</system.serviceModel>

Ama, AdminClient için yapıcı çalıştırdığımda bir özel durum bitiş tanımlı olmadığını söylediler. Benim yapılandırma son nokta bir isim vermem değiştirin ve sonra aşağıdaki gibi fabrika oluşturun, ancak, çalışır.

public AdminClient()
{
    var fac = new ChannelFactory<IProductAdmin>("admin");
    productAdminChannel = fac.CreateChannel();
}

< / ^ hr .

<system.serviceModel>
    <client>
    	<endpoint name="admin" 
    			  address="net.tcp://localhost:8002/ProductBrowser"
    			  binding="netTcpBinding"
    			  contract="Contracts.IProductAdmin" />
    </client>
</system.serviceModel>

Bunun için bir açıklama istiyorum. MSDN belgelerinde pek yardımcı değil...

CEVAP
12 ŞUBAT 2010, Cuma


Kullanım "*" ilk eleme son nokta kullanın.

public AdminClient()
{
    ChannelFactory<IProductAdmin> factory  
         = new ChannelFactory<IProductAdmin>("*");

    productAdminChannel = factory.CreateChannel();
}

MSDN Example

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Joseph Hayhoe

    Joseph Hayho

    20 Mayıs 2010
  • Joshua Benedict

    Joshua Bened

    26 EKİM 2013
  • Official Clouds

    Official Clo

    1 HAZİRAN 2011