¿Hay una manera de tener URLs amigables definidas personalizadas con WCF sin IIS?

¿Hay una manera de tener URLs amigables definidas personalizadas con WCF sin IIS?

En particular, estoy buscando hacer algo como esto a través de un app.config alojado en mi propio servicio de Windows:

[WebGet(UriTemplate = "foo/{id}")] public string GetFoo(string id) { ... } 

Sí, claro: aloje esto dentro de su propio Servicio NT, y en su app.config , defina una dirección base http. Las plantillas de URI que defina en su contrato de servicio estarán fuera de esa dirección base:

           

Luego, su plantilla de URI se agregará a esta dirección base, por lo que en ese caso, su método GetFoo se podría llamar a:

 http://YourServer:9091/Services/foo/42 

Actualización: acabo de recrear esto aquí, y el problema es este: su plantilla de URI define un parámetro llamado {id} , pero el método al que aplica esta plantilla de URI no tiene ningún parámetro llamado id en su lista de parámetros:

 [WebGet(UriTemplate = "foo/{id}")] public string GetFoo(string fooID) 

¡Necesitas asegurarte de que esas cosas coincidan! Con la plantilla URI dada, necesita cambiar su statement de método a:

 [WebGet(UriTemplate = "foo/{id}")] public string GetFoo(string id) 

(vea el parámetro – su nombre ahora es id ) y luego debería estar bien, al menos funciona bien para mí.