2

IISを使用して、ASP.netMVC4アプリケーションからASP.netMVC4WebApiに要求を書き換えようとしています。クライアントから、私はajaxを使用してサーバーにコールバックし、サーバーがwebapiサイトを指すようにリクエストを書き直してほしいと思っています。私がそれを機能させることができれば、これはクロスドメインの問題を解決するはずです。

この記事に従って、URL書き換え、Webファームフレームワーク、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]->[アプリケーション要求ルーティング]->[サーバープロキシ設定]で、[プロキシを有効にする]チェックボックスをオンにします。

私の書き換えルールは次のようになります。

<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ルーティングは期待どおりに機能します。

この問題を解決する簡単な方法はありますか?

4

0 に答える 0