多くのAjaxウィジェット(正確には剣道UI)を備えたアプリケーションを作成しています。標準のコントローラーなしでこれらすべてのAjax応答を取得するのは面倒になり始めているので、各エンティティを独自のコントローラーにすることを検討し始めました。時間をかけてこれを行うのであれば、近い将来にこれを行うことを計画していたので、WebAPIとしてそれらを実行したほうがよいと思いましたが、ねえ、それはすでに行われているでしょう...
だから私の質問は:MVCアプリケーション自体のWeb APIをAjaxウィジェットフィードとして使用するのは良い習慣ですか、それとも標準のコントローラーを使い続ける理由がありますか?
パフォーマンスについていくつかの議論を見てきましたが、これはこの状況には当てはまらないと思います。明らかにパフォーマンスに影響を与えるのは、「WebAPIを呼び出すコントローラー」の状況だったと思います。しかし、それはすでにクライアント側のAjax呼び出しであるため、標準のMVCコントローラーに入るのか、WebAPIコントローラーに入るのかは関係ありませんね。
編集
プロジェクトに関する追加情報:
- データアクセスにEntityFrameworkを使用しています。
- UnitOfWorkでリポジトリパターンが進行しています。
- 適切なMVC構造を使用しています(リポジトリ内のDTO POCOに自動マッピングされ、コントローラーによってビューモデルにフィードされるEF POCO)
- これは.NET4.0上のMVC4プロジェクトです
- 多くのデータベース関係があります(特に、現在作業しているオブジェクトの場合)