Asp.net url路由捕获asmx web服务调用

标签 asp.net routes asmx

我有一个 Asp.Net 4.0 Web Forms 项目,它使用 url 路由来提供用户友好的 url,即将 aspx 页面隐藏在明文 url 后面。

在这个项目中,我们有一个 asmx Web 服务,它在页面上提供一些 jQuery 控件。到目前为止,在开发机器和内部测试站点上一切都运行良好,但现在当我们在生产站点上安装该项目时,asmx 调用会被路由代码捕获。

我们有一个最后添加的捕获所有路由,显示“未找到”页面。

当我在服务器上打开 Web 服务 (http://localhost/service.asmx?op=MyWebMethod) 时,输入一些值并单击“调用”,我会看到“未找到”页面。 Invoke打开的url是http://localhost/service.asmx/MyWebMethod所以这一切都很合乎逻辑(service.asmx 看起来像一个目录),但我不明白这如何在同一项目的所有其他安装上工作。

生产服务器是Windows 2008 Server R2 Standard,项目是Asp.net 4.0,我还没有为asmx文件注册任何StopRoutingHandler。

内部测试站点和生产站点之间的 web.config 文件是相同的,据我所知,machine.config 文件尚未触及。

最佳答案

routes.Add(new Route("{resource}.asmx/{*pathInfo}", new StopRoutingHandler()));

关于Asp.net url路由捕获asmx web服务调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7661378/

相关文章:

c# - Web 服务不返回当前 Windows 用户名

asp.net - ASP.NET (.asmx) Web 服务中的客户端 IP 地址

asp.net - GridView 上的 ShowFooterWhenEmpty

asp.net - 在 ASP.NET MVC 3 中更改 Membership.ValidateUser() 和其他内容

android - 在 Android google maps api v2 for 4.0 中,显示从当前位置到给定经纬度的路线

linux - 路由表中的子网条目

asp.net - Web 服务调用不起作用,只是被重定向到 .asmx 页面

c# - SQL Server 日期从字符串转换

c# - 使用文件html元素时另一个进程使用的文件

python - 如何通过 Python 连接到 VPN/代理服务器?