配置IIS 7.0以在经典模式下启用Web服务

时间:2010-02-05 06:24:34

标签: web-services iis-7 web-config

在经典模式下启用IIS 7.0上的Web服务有哪些配置文件设置? 该站点必须位于经典模式应用程序池中,因为报表查看器控制在集成模式下运行时崩溃。但是,在经典模式应用程序池中,webservices会生成以下错误消息:

  

请求的内容似乎是   脚本,不会被服务   静态文件处理程序。

     

•如果您要将此内容作为   一个静态文件,添加一个显式MIME   图

编辑 - 其他错误消息信息:

  1. HTTP错误404.17 - 未找到
  2. 模块:StaticFileModule
  3. 通知:ExecuteRequestHandler
  4. 处理程序:StaticFile
  5. 错误代码:0x80070032
  6. 注意:此特定应用程序实例将在共享主机环境中的客户帐户中运行,因此无法访问IIS UI。专门寻求配置文件调整。

3 个答案:

答案 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有点棘手。您可以通过以下方式恢复已知良好的基线(假设您没有修改服务器范围的处理程序映射):

  1. 打开IIS管理器
  2. 打开有问题的网站
  3. 在网站的“功能”视图中,打开“处理程序映射”功能
  4. 在“操作”窗格(右上角)中,单击“还原为父级”
相关问题