Reguła przepisywania dla WebAPI kończy się niepowodzeniem z powodu ExtensionlessUrlHandler

Próbuję użyć IIS do przepisania żądań z mojej aplikacji ASP.net MVC 4 do mojego ASP.net MVC 4 WebApi. Od klienta używam ajax do nawiązywania połączeń z powrotem do serwera, który chciałbym, aby serwer przepisał żądanie, aby wskazywało na stronę webapi. Powinno to rozwiązać wszystkie problemy między domenami, jeśli mogę je uruchomić.

Zainstalowałem przepisywanie adresów URL, Web Farm Framework, ARR i zewnętrzną pamięć podręczną na ten artykuł:http://blogs.iis.net/wonyoo/archive/2011/04/20/how-to-install-application-request-routing-arr-2-5-without-web-platform-installer-webpi.aspx

W IIS-> Application Request Routing-> Server Proxy Settings ”i zaznaczono pole„ Enable proxy ”.

Moja reguła przepisywania wygląda następująco:

<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>

Co jest naprawdę ciekawego, jeśli usunę ExtensionlessUrlHandlers w web.config mojej strony MVC, to moje przepisanie działa idealnie. Niestety, routing MVC zostaje przerwany i moja strona przestaje działać. Jeśli ponownie włączysz ExtensionlessUrlHandlers, ponowne zapisywanie nie powiedzie się, a routing MVC działa zgodnie z oczekiwaniami.

Czy istnieje prosty sposób rozwiązania tego problemu?

questionAnswers(0)

yourAnswerToTheQuestion