Tengo un entorno en el que varios sitios alojados en el mismo servidor utilizarán un único servicio para realizar sus llamadas. Por ejemplo:Direcciones base múltiples en el servicio WCF individual
http://domain1.com/Api/Service.svc
http://domain2.com/Api/Service.svc
La aplicación API se ha configurado como un directorio virtual en cada sitio mapeado en el mismo directorio físico, por lo que la fuente sólo se encuentra en un solo lugar. El problema es que a WCF no le gusta tener múltiples direcciones base para sus puntos finales de servicio. Para obtener el servicio para trabajar en absoluto, he tenido que añadir un filtro de dirección de base prefijo:
<serviceHostingEnvironment>
<baseAddressPrefixFilters>
<add prefix="http://domain1.com/Api" />
<!--<add prefix="http://domain2.com/Api" />-->
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
Sin embargo esto sólo funciona para domain1, ya que sólo se permite una baseAddressPrefixFilter (que no deberían llamarlo baseAddressPrefixFilter s si solo tiene permitido uno). Intenté crear un ServiceHostFactory personalizado para evitarlo, pero me encuentro con el problema del filtro antes de llamar a ServiceHostFactory en el proceso de Activación.
¿Alguna idea sobre cómo conseguir que un solo servicio funcione en 2 dominios como este?
Bien hecho, si solo MS se hubiera tomado la molestia de documentar esto correctamente. Su respuesta en http://blogs.msdn.com/b/rampo/archive/2008/02/11/how-can-wcf-support-multiple-iis-binding-specified-per-site.aspx simplemente no funcionó en absoluto. –