2009-08-23 20 views
5

Estoy desarrollando un servicio wcf. He creado dos archivos DLL para contratos de mensajes y uno para interfaces de contratos de servicio. Comparto estos dos dll con servidor y cliente. No estoy usando AddServiceReference. Estoy utilizando la clase ChannelFactory para crear proxies. siguiente es el código que estoy utilizando para crear proxies cliente:Cómo configurar clientes para un servicio 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(); 

Ahora tengo que crear la unión y EndpointAddress en el código, lo que quiero que esto debe venir de archivo app.config, ¿cómo puedo hágalo de modo que no necesite escribir encuadernación y punto final cada vez en el código ... Se agradece cualquier ayuda ..

Respuesta

8

Use una app.config como esta (cuando usa "Agregar referencia de servicio" de Visual Studio, VS generalmente creará esto para usted automáticamente y solo necesita modificarlo según sus necesidades):

<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> 

La sección y sus posibles valores y subsección están bien documentados en la configuración de WCF.

Como alternativa, en VS 2008 SP1, puede usar el "Editor de configuración de servicio WCF"; véalo en "Herramientas> Editor de configuración de servicio WCF".

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

Le permite definir visualmente y modificar la configuración de configuración del cliente. Una vez que lo haya lanzado desde el menú Herramientas, después de eso, puede incluso hacer clic derecho en la aplicación.config en su Explorador de soluciones e iniciarla desde allí (usando esa aplicación.config como base).

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

Marc

Cuestiones relacionadas