2012-02-28 14 views
1

MVC4のWEB APIを使用してコントローラを公開しています。AREAで作成されたコントローラを登録するには

は当初、私はMVC4 WEBAPIプロジェクトを作成した作成し、URL(WEB用API)をコールする外部アプリを待って、任意のWebページを開くにはないプロジェクトを設定します。 VS2010のプロジェクトは、VS2010のDev Serverではなく、IIS7 Expressから実行するように設定されています。これは正常に動作し、ブラウザはファイルのダウンロードを促します。ブラウザは返されたデータ(RAW TEXT)をどうすればいいのかわからないので、私にとっては問題ありません。

次に、MVC4プロジェクトエリアにAREAを作成し、コントローラ(WEB APIタイプ)を追加しました。

私はもう一度プロジェクトを実行し、ブラウザでURL(WEB API)を入力しました。そしてそれは失敗する。

Ed。

+0

あなたはどのようなURLを使用していますか?あなたの地域名は何ですか? – thekip

答えて

2

デフォルトでは、DefaultHttpControllerFactoryは領域では機能しません。この機能を利用するには、カスタムHttpControllerFactoryを記述する必要があります。

あなたはポストでこれを行う方法を見つけることができますHow to create HttpControllerFactory to support Areas

1

それがさまざまな分野でWEBAPIコントローラを配置することが可能であるが、それらはすべて同じに存在するかのように、ASP.NET MVC 4 RCは、まだこれらのApiControllersを扱います名前空間。これは、適切なApiControllerを選択するDefaultHttpControllerSelectorの制限です。

幸いにも、このクラスを独自に実装することができます。実際には、私はすでにこの問題に遭遇し、 "エリア認識" HttpControllerSelectorを書いています。あなたはこの問題と、ここでその解決策についての私のブログの記事を見つけることができます。

http://blogs.infosupport.com/asp-net-mvc-4-rc-getting-webapi-and-areas-to-play-nicely/

関連する問題