我在ASP.NET4.0中有一个Web应用程序,我添加了一个asmx服务,主要作为自动完成扩展程序的查找值的源。
当我在本地计算机上调试时,一切正常。但是,当我将Web应用程序部署到IIS 7.5时,我在尝试向服务发送数据时收到HTTP 404响应。
我能够浏览到服务定义,查看可用的操作。然而,很明显,当我使用测试页面通过POST测试服务时,我再次收到HTTP 404。
我不知道发生了什么,我确实在我的web应用程序中创建了asmx文件,并且它被部署在我的其他工作的生产应用程序的虚拟目录中。
在同一虚拟目录中部署.asmx文件是否有问题?
5条答案
按热度按时间wqnecbli1#
我刚刚遇到了同样的错误,在绊倒了这个SO条目:
Handlers returns 404 error on IIS7.5 integrated pipeline和
ASMX操作404s,但ASMX服务描述没有,url路由问题?
并尝试了将asmx处理程序添加到web.configswebServer部分的解决方案,一切都很顺利:
a9wyjsp72#
您应该检查Web服务的应用程序池:
vngu2lb83#
我用jQuery发布到asmx,它在测试系统中工作,但在生产服务器上失败。我缺少datatype参数:
y53ybaqx4#
在Asp.netMVC
RouteConfig.cs
中,不能有以下行:这是抛出我http 404错误。
ebdffaop5#
使用IIS Express时出现404错误。我切换到使用完整版IIS:
(右键单击项目〉属性。切换到“服务器”下的“本地IIS”)
如果出现提示,请选择“是”以创建虚拟目录。(您也可以通过单击“创建虚拟目录”手动执行此操作)
确保将“项目URL”设置为Web服务的路径,并将“特定页面”设置为
.asmx
服务的名称。在此之后,我得到了一个不同的404.3错误(请参见此处-"The page you are requesting cannot be served because of the extension configuration." error message)
.asmx
Web服务使用的是.NET 4.7.2,但我需要以下设置(在Windows中的“打开或关闭Windows功能”下),然后它就工作了(我已经展示了我用于IIS的其他主要设置):