Asp.net mvc 由于ExtensionlessUrlHandler,WebAPI的重写规则失败

Asp.net mvc 由于ExtensionlessUrlHandler,WebAPI的重写规则失败,asp.net-mvc,iis,asp.net-web-api,cross-domain,rewrite,Asp.net Mvc,Iis,Asp.net Web Api,Cross Domain,Rewrite,我正在尝试使用IIS将ASP.net MVC 4应用程序中的请求重写为ASP.net MVC 4 WebApi。从客户端,我使用ajax调用服务器,然后我希望服务器重写请求以指向webapi站点。这应该可以解决任何跨域的问题,如果我可以得到它的工作 根据本文,我安装了URL重写、Web场框架、ARR和外部缓存: 在IIS->应用程序请求路由->服务器代理设置”中,选中“启用代理”框 我的重写规则如下所示: <rule name="webapi" stopProcessing =" true

我正在尝试使用IIS将ASP.net MVC 4应用程序中的请求重写为ASP.net MVC 4 WebApi。从客户端,我使用ajax调用服务器,然后我希望服务器重写请求以指向webapi站点。这应该可以解决任何跨域的问题,如果我可以得到它的工作

根据本文,我安装了URL重写、Web场框架、ARR和外部缓存:

在IIS->应用程序请求路由->服务器代理设置”中,选中“启用代理”框

我的重写规则如下所示:

<rule name="webapi" stopProcessing =" true" >
  < match url =" webapi/(.*)" />
  < conditions>
    < add input =" {HTTP_HOST}" pattern="web(\.mytest\.com)$" />
  </ conditions>
  < action type =" Rewrite" url= "http://api{C:1}/api/{R:1} " />
</ rule>


<条件>


如果我在MVC站点的web.config中删除ExtensionlessUrlHandlers,那么我的重写工作就完美了。不幸的是,MVC路由中断,我的站点不再工作。如果将ExtensionlessUrlHandlers放回,重写失败,MVC路由按预期工作


有没有简单的方法可以解决此问题?

我一直在与Microsoft支持部门合作解决此问题,似乎集成应用程序池管理的管道处理呼叫的方式存在问题。如果您将其从集成更改为经典,则重写规则有效。我正在等待Microsoft支持部门的回复,了解如何获得过去必须改变到经典模式,这样才能在Azure这样的平台上工作,而不必经历一系列的麻烦。这方面有什么更新吗?我希望做同样的事情