![iis7 .net webservice 404 错误](https://linux22.com/image/513756/iis7%20.net%20webservice%20404%20%E9%94%99%E8%AF%AF.png)
我/test/Service1.asmx
在与页面相同的文件夹中有一个 web 服务/test/test.aspx
。
页面运行正常,但我在同一位置收到以下服务消息。我知道文件在那里,网址正确,我还添加了脚本模块和托管处理程序。如果有人知道我这里遗漏了什么,我将不胜感激
‘/’应用程序中的服务器错误。
找不到资源。描述:HTTP 404。您正在寻找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下 URL 并确保其拼写正确。
请求的 URL:/test/Service1.asmx
版本信息:Microsoft .NET Framework 版本:2.0.50727.4200;ASP.NET 版本:2.0.50727.4016
失败请求日志:ModuleName ManagedPipelineHandler 通知 128 HttpStatus 404 HttpReason 未找到 HttpSubStatus 0 ErrorCode 0 ConfigExceptionInfo
通知 EXECUTE_REQUEST_HANDLER ErrorCode 操作已成功完成。(0x0)
答案1
在对我们的内部网应用程序从 IIS6 到 7 进行一些测试迁移时,我遇到了这个问题。我通过修改 Web.config 文件的以下部分解决了该问题:
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<remove name="ScriptModule"/>
</modules>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<remove name="ScriptHandlerFactory"/>
<remove name="ScriptHandlerFactoryAppServices"/>
<remove name="ScriptResource"/>
</handlers>
</system.webServer>
改变验证集成模式配置到真的,并删除WebServiceHandlerFactory-集成从刪除清單中。
奇怪的是,我记得 ASP.NET 专门在 IIS7 中添加了这些行。算了。
答案2
您是否为 IIS 7 安装了 ASP.NET 角色服务?
答案3
我遇到了这个问题,但这是一个完全不同的问题。请确保在部署网站之前对其进行编译。我有一些页面已编译,但有些页面未编译。
我花了很长时间才弄清楚,因为当我尝试在应用程序服务器(Windows Server 2008)上查看这些页面时,由于 Internet Explorer 的安全设置,它不允许我查看非安全页面(http 协议)。在服务器框上的浏览器上测试时,我只有端口 80 的绑定。所以我甚至看不到已编译的 aspx 页面,更不用说未编译的 aspx 页面了。但是,在同一个站点的两个框上都可以看到纯 HTML 页面 - 这部分很有趣。当我在该网络上的另一台计算机(运行 Windows 7)上查看页面时,已编译的 aspx 页面显示正常,因为它已编译。而未编译的页面则没有。