在经典模式下启用IIS 7.0上的Web服务有哪些配置文件设置? 该站点必须位于经典模式应用程序池中,因为报表查看器控制在集成模式下运行时崩溃。但是,在经典模式应用程序池中,webservices会生成以下错误消息:
请求的内容似乎是 脚本,不会被服务 静态文件处理程序。
•如果您要将此内容作为 一个静态文件,添加一个显式MIME 图
编辑 - 其他错误消息信息:
注意:此特定应用程序实例将在共享主机环境中的客户帐户中运行,因此无法访问IIS UI。专门寻求配置文件调整。
答案 0 :(得分:5)
在IIS管理器中(开始 - >运行 - > inetmgr),选择要设置为经典模式的网站或虚拟目录。
在右侧面板“操作”中,单击“基本设置”。
在应用程序池旁边(默认为DefaultAppPool),单击“选择”并将其更改为“Classic .Net AppPool”。
演练是here。
更新:对不起,我误解了你的问题。您可以尝试以下几种方法:
首先是从控制面板仔细检查IIS安装功能(程序和功能 - >打开和关闭Windows功能 - >> Internet信息服务 - >万维网服务 - >应用程序开发功能) 。我有一切栏CGI和服务器端包括已检查)。
其次,请确保您的网站已正确设置为应用程序(选择网站 - >操作 - >查看应用程序)。如果不存在,则需要添加它。
要检查的第三件事是具体的处理程序,可以通过IIS管理器访问 - >选择网站 - >处理程序映射 - >打开功能 - >确保.asmx在那里。我有三次,WebServiceHandlerFactory-Integrated(处理程序System.Web.Handlers.WebAdminHandler),WebServiceHandlerFactory-ISAPI-2.0(Isapi模块)和WebServiceHandlerFactory-ISAPI-2.0-64(Isapi模块)。
最后,确保为该应用程序使用正确的.NET版本。
再次,为原始的duff答案道歉。
答案 1 :(得分:1)
感谢Junto的帖子!我尝试了很多其他人被建议但却无法使我的网站工作的东西。我按照您的说明操作,果然,我的应用程序列在IIS中的站点下,但未显示在应用程序池中。我删除了应用程序并创建了它们。在此之后,一切都按预期工作。
如果有人对我经历的事情感兴趣。我正在从IIS6迁移到IIS7。所有虚拟目录和应用程序似乎都移植得很好,但并非所有虚拟目录和应用程序都进入了应用程序池。因此,如果您遇到同样的问题,“错误400.17。如果您想将此内容作为静态文件提供,请添加显式MIME地图”,请检查您的应用程序池以确保显示所有应用程序。
答案 2 :(得分:0)
这听起来像你的HandlerMappings有点棘手。您可以通过以下方式恢复已知良好的基线(假设您没有修改服务器范围的处理程序映射):