Regra de reescrita para WebAPI falha devido a ExtensionlessUrlHandler
Eu estou tentando usar o IIS para reescrever solicitações do meu aplicativo asp.net MVC 4 para meu asp.net MVC 4 WebApi. A partir do cliente, estou usando o ajax para fazer chamadas de volta para o servidor, o que eu gostaria que o servidor reescrevesse a solicitação para apontar para o site webapi. Isso deve resolver qualquer problema de domínio cruzado se eu puder fazê-lo funcionar.
Eu instalei a reescrita de URL, Web Farm Framework, ARR e Cache Externo de acordo com este artigo:http://blogs.iis.net/wonyoo/archive/2011/04/20/how-to-install-application-request-routing-arr-2-5-without-web-platform-installer-webpi.aspx
Em IIS-> Application Request Routing-> Server Proxy Settings "e marque a caixa que diz" Ativar proxy ".
Minha regra de reescrita parece:
<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>
O que é realmente curioso se eu remover o ExtensionlessUrlHandlers no web.config do meu site MVC, então minha reescrita funciona perfeitamente. Infelizmente, o roteamento MVC quebra e meu site não funciona mais. Se colocar o ExtensionlessUrlHandlers novamente, a reescrita falhará e o roteamento do MVC funcionará conforme o esperado.
Existe uma maneira simples de resolver esse problema?