2009-08-23 15 views
5

Rozwijam usługę wcf. Stworzyłem dwie biblioteki dll dla umów wiadomości i jedną dla interfejsów umów serwisowych. Dzielę się tymi dwoma bibliotekami dll z serwerem i klientem. Nie używam AddServiceReference Używam klasy ChannelFactory do tworzenia serwerów proxy. Poniżej znajduje się kod, który używam do tworzenia proxy klient:Jak skonfigurować klientów dla usługi wcf?

BasicHttpBinding binding = new BasicHttpBinding(); 
EndpointAddress endpoint = new EndpointAddress(new Uri ("http://localhost:8989/HelloService/")); 
ChannelFactory<IHello> chanFac = new ChannelFactory<IHello>(binding, endpoint); 
IHello clientProxy = chanFac.CreateChannel(); 

Teraz muszę utworzyć wiązanie i EndpointAddress w kodzie, co chcę, że to powinno pochodzić z pliku app.config, jak mogę zrób to, abym nie musiał pisać bindów i punktów końcowych za każdym razem w kodzie ... Każda pomoc jest ceniona ..

Odpowiedz

8

Użyj app.config w ten sposób (kiedy używasz "Dodaj odniesienie do usługi" z Visual Studio, VS zwykle utworzy to automatycznie dla Ciebie - i musisz go dostosować do swoich potrzeb:

<configuration> 
    <system.serviceModel> 
     <bindings> 
      <basicHttpBinding> 
      <binding name="UserNameSecurity"> 
       <security mode="Message"> 
       <message clientCredentialType="UserName"/> 
       </security> 
      </binding> 
      </basicHttpBinding> 
     </bindings> 
     <client> 
      <endpoint address="http://localhost:8888/MyService" binding="basicHttpBinding" 
       bindingConfiguration="UserNameSecurity" contract="IMyService" /> 
      <endpoint address="net.tcp://localhost:8484/MyService/Mex" 
         binding="mexTcpBinding" 
         bindingConfiguration="" 
         contract="IMetadataExchange" name="mexNetTcp" /> 
     </client> 
    </system.serviceModel> 
</configuration> 

Sekcja i jej możliwe wartości i podsekcje są dobrze udokumentowane w konfiguracji WCF.

Alternatywnie, w VS 2008 SP1 można użyć "Edytora konfiguracji usług WCF" - zobacz go w "Narzędzia> Edytor konfiguracji usług WCF".

alt text http://i27.tinypic.com/dolx8w.jpg

To pozwala wizualnie definiować i modyfikować ustawienia konfiguracyjne klienta. Po uruchomieniu go z menu Narzędzia można później kliknąć prawym klawiszem myszy plik app.config w Eksploratorze rozwiązań i uruchomić go stamtąd (używając tej aplikacji app.config jako podstawy).

alt text http://i25.tinypic.com/2s9pwex.jpg

Marc

Powiązane problemy