J'ai plusieurs points d'extrémité RESTful comme tel:WCF 3.5 - Retirer SVC Extension - Cas particulier
System.Security.Role.svc
System.Security.User.svc
etc.
Ceci est censé être un espace de noms pour que notre URL RESTful de ressemblerait à ceci:
/rest/{class namespace}/{actions}
I J'ai essayé quelques exemples pour obtenir l'extension SVC lorsque mon point de terminaison a plusieurs périodes, mais rien ne semble fonctionner.
J'ai testé avec le package WCF REST Contrib (http://wcfrestcontrib.codeplex.com/), cet exemple (http://www.west-wind.com/weblog/posts/570695.aspx) et un autre poste StackOverflow (How to remove the ".svc" extension in RESTful WCF service?).
Cela fonctionne très bien quand mon point final est quelque chose comme ceci:
Echo.svc
Il supprimera correctement l'extension SVC.
Des idées sur la gestion des points de terminaison avec plusieurs points dans le nom du point de terminaison?
EDIT: Après quelques tests supplémentaires, je trouve que ce échoue parce que chaque fois que vous faites:
string path = HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath;
Si le critère d'évaluation contient plusieurs périodes, il se déshabille tout après le point final causant tous la norme IHttpModule à échouer.
Exemple:
Si j'appelle http://localhost/services/Echo/test, mon chemin de fichier application par rapport a une valeur retournée de:
~/echo/test
Cependant, si je fais un appel comme http://localhost/services/System.Security.User/test, alors mon chemin de fichier application relatif a une valeur retournée de:
~/system.security.user
Je manque le '/ test' à la fin dans cette situation.