配置 IIS7.5 以允许调用 asmx web 服务

配置 IIS7.5 以允许调用 asmx web 服务

我将网站从 IIS6 迁移到 Windows Server 2008 R2 IIS7.5。它有一个 asmx Web 服务,在本地运行良好,但从另一台计算机调用时返回此 500 错误:

请求格式无法识别,因为 URL 意外以 /myMethodName 结尾

以前版本中的解决方案是将其添加到 web.config 中以获取所需的协议(通常在生产中省略 HttpGet):

<system.web>
  <webServices>
    <protocols>
      <add name="HttpGet" />
      <add name="HttpPost" />
      <add name="HttpSoap" />
    </protocols>
  </webServices>
</system.web>

到处都贴有这个信息,包括https://stackoverflow.com/questions/657313/request-format-is-unrecognized-for-url-unexpectedly-ending-in

对于 IIS7.5,这会引发配置错误;我知道此部分不属于这里,但还是尝试了。我还将 asmx 调用归结为一个简单的 hello world。我也用 POST 进行了测试,只是为了消除 GET 的任何问题。

IIS7.5 的等效项是什么? - web.config 格式或按下的 UI 按钮都会非常有用。

谢谢,鲍勃

编辑答案: 从下面的帮助来看,这确实有效 - 它就像它所说的那样进入 system.web;而不是 system.webserver。

答案1

如果您在 IIS 7.5 中进行上述输入时出现“配置错误”,则需要仔细查看该错误。

我有 IIS 7.5,我刚刚尝试使用配置编辑器添加相同的配置,它在默认网站下的 web.config 文件中创建了一个条目。

如果您可以从 IIS 日志文件中发布确切的错误或进行 FREB 跟踪,这将有助于更好地隔离问题。

答案2

请在您的服务器上运行以下命令:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe –iru

这将针对特定的 .NET 版本重新配置 ASP.NET 脚本。

相关内容