加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

Asp.net url路由陷阱asmx web服务调用

发布时间:2020-12-16 09:49:44 所属栏目:asp.Net 来源:网络整理
导读:我有一个Asp.Net 4.0 Web窗体项目,它使用url路由为用户友好的URL,即隐藏明文URL后面的aspx页面. 在这个项目中,我们有一个asmx Web服务,它在页面上提供一些jQuery控件.到目前为止,在开发机器和内部测试站点上一切运行良好,但现在当我们在生产站点上安装项目时
我有一个Asp.Net 4.0 Web窗体项目,它使用url路由为用户友好的URL,即隐藏明文URL后面的aspx页面.

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

我们有一个捕获最后添加的所有路径,显示未找到的页面.

当我在服务器上打开Web服务(http://localhost/service.asmx?op = MyWebMethod)时,输入一些值并单击Invoke I get the Not found页面. Invoke打开的URL是http://localhost/service.asmx/MyWebMethod所以它完全合乎逻辑(service.asmx看起来像一个目录)但我不明白它如何在同一个项目的所有其他安装上工作.

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

内部测试站点和生产站点之间的web.config文件是相同的,而且我不了解机器.config -files.

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读