1

我正在尝试对WebAPI服务调用.asmxWeb 服务调用的URL进行简单的 IIS 重写。web.config这是在 IIS 中设置后添加到我的 WebAPI 的配置:

  <system.webServer>
     <rewrite>
        <rules>
           <rule name="Rewrite Proxy To Client" patternSyntax="ExactMatch">
              <match url="api/MyWebAPIProxy" />
              <action type="Rewrite" url="http://localhost/MyWebService.asmx/MyServiceMethod" logRewrittenUrl="true" />
           </rule>
        </rules>
     </rewrite>
  </system.webServer>

我从这里尝试了所有方法(URL 重写 - web.config 错误),包括重新安装 IIS 重写模块,但没有帮助。调用包含此配置的 WebAPI 服务时出现以下错误:

HTTP 错误 500.52 - URL 重写模块错误。无法读取配置部分“system.webServer/rewrite/allowedServerVariables”,因为它缺少部分声明

现在我可以使用 Postman 或 Fiddler 独立调用服务,并且服务运行良好。实际上,在调用具有 IIS 重写规则的 WebAPI 服务之前,我必须删除重写的配置,然后再调用。关键是,这些服务都有效。问题在于这种重写配置。我在这里做错了什么导致它无法正常工作?

4

0 回答 0