Path.GetExtension无法处理.asmx

时间:2016-08-05 10:18:51

标签: c# asp.net

我尝试使用

过滤掉.asmx请求
string path = request.Url.AbsolutePath;
return Path.HasExtension(path) && Path.GetExtension(path).Equals(".asmx", StringComparison.InvariantCultureIgnoreCase);

但是,Path.GetExtension总是在我的Web服务请求中返回一个空字符串。 Web服务请求的路径与

一致

https://www.mywebsite.co.uk/webservices/some-service.asmx/SomeMethod

为了解决这个问题,我使用

return path.IndexOf(".asmx", StringComparison.InvariantCultureIgnoreCase) >= 0; 

但是想知道是否有办法让Path.GetExtension工作。

1 个答案:

答案 0 :(得分:0)

使用this link中的代码获取.asmx页面的URI。

然后使用该URI获取页面的文件路径。

注意,在.asmx页面上,你必须使用 HttpContext 限定符,因为.asmx文件不会继承页面上课。