我正在尝试使用 IIS 将请求从我的 ASP.net MVC 4 应用程序重写到我的 ASP.net MVC 4 WebApi。从客户端,我使用 ajax 调用回服务器,然后我希望服务器重写请求以指向 webapi 站点。如果我能让它工作,这应该可以解决任何跨域问题。
我已经按照这篇文章安装了 URL 重写、Web Farm 框架、ARR 和外部缓存:http: //blogs.iis.net/wonyoo/archive/2011/04/20/how-to-install-application-request-routing -arr-2-5-without-web-platform-installer-webpi.aspx
在 IIS->Application Request Routing->Server Proxy Settings”中,选中“Enable proxy”复选框。
我的重写规则如下所示:
<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 路由按预期工作。
有没有简单的方法来解决这个问题?