我有一个RESTful WCF 3.5端点:
System.Security.User.svc
这应该代表User类的名称空间,并且是我们客户的期望行为。
我为测试创建了另一个端点:
Echo.svc
我正在编写一个重写的IHttpModule,在我的模块中,我遵循几乎每个人所做的事情:
string path = HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath;
如果我拨打电话:
http://localhost/services/Echo/test
我的路径变量的值为'〜/ echo / test'
然而,当我拨打电话时:
http://localhost/services/System.Security.User/test
我的路径变量的值为'〜/ system.security.user'
在我的第二种情况下,它正在剥离包含多个句点的任何端点末尾的'/ test'。这是不受欢迎的行为,我发现修复此问题的唯一解决方案是使用包含完整URL路径的属性进行一些丑陋的字符串操作:
string rawPath = HttpContext.Current.Request.RawUrl;
返回'/services/system.security.user/test'。
有谁知道为什么我的第一种情况不会返回名称中包含多个句点的端点的其余URL路径?