2010-01-13 7 views
5

Tengo extremos definidos en un archivo de configuración con un nombre de dominio "falso". La idea es que esto facilitaría la implementación, ya que en lugar de modificar los archivos de configuración, simplemente configuramos la dirección IP del nombre de dominio "falso" en los archivos de host del entorno. Así, por ejemplo, en mi caja dev local, me gustaría tener una entrada en el archivo de hosts¿Por qué los puntos finales WCF ignoran el archivo de hosts?

127.0.0.1  fake.domain 

y en un ambiente de aceptación de los usuarios que podrían tener

192.45.34.31 fake.domain 

pero en mi archivo de configuración acabo haría tener el punto final

<endpoint address="http://fake.domain/someServiceBase/SomeService.svc" ... /> 

Sin embargo, WCF parece ignorar por completo el archivo de hosts. Puedo copiar más allá de la dirección en un navegador, y aparecerá, pero el cliente WCF (que está en el recuadro dev local) dará un error de "host no encontrado".

¿Por qué WCF ignora el archivo hosts?

Editar: nota adicional, todo funciona si se sustituye la dirección de punto final se utiliza la dirección IP real directamente en el archivo de configuración, por ejemplo,

<endpoint address="http://127.0.0.1/someServiceBase/SomeService.svc" ... /> 

Respuesta

2

¿Por qué WCF ignorar el archivo hosts?

Hmm, sospecho que no lo es. Supongo que su cliente está haciendo una conexión, pero el servicio lo redirecciona.

Hay un artículo here que entra en gran detalle en los puntos finales:

La infraestructura del canal de Windows Communication Foundation gira en torno a la dirección física ya que es responsable de recibir mensajes entrantes utilizando un protocolo de transporte particular, en un lugar específico. El asignador de Windows Communication Foundation, por otro lado, está protegido de dichos detalles de red y en su lugar se centra en asignar el mensaje entrante a un punto final y, en última instancia, a una llamada a un método.

+0

A menos que WCF haga dicha redirección, entonces no. Los servicios involucrados no hacen ninguna redirección. Además, si reemplazo la dirección del punto final con la dirección IP real, todo funciona. – Nathan

Cuestiones relacionadas