2

最近、MVC4 WebApi の例を調べています。これらのサンプル アプリケーションは非常に単純で、数ページしかありません。それらの目的は ApiController の使用方法を示すことだけであるため、アプリケーションの構造は最小限に抑えられています。

大規模な Web アプリケーションでは、多くの通常のコントローラーと Api コントローラーが存在します。それらをどのように整理すればよいのでしょうか。すべての API コントローラーを 1 つのフォルダー$.ajax()に配置し、そこから各ビューを呼び出すことをお勧めしますか? または、関連するビューをレンダリングする通常のコントローラーと一緒にAPIコントローラーを配置する方が良い$.ajax()ですか?

おすすめの練習法は?

ここに追加されたいくつかの考え:

もっと時間をかけて考えてみます。現在の私の計画は、標準コントローラーはビューのレンダリングにのみ使用されるというものです。ビュー モデルは標準コントローラーを介して渡されません。つまり、いいえreturn View(model)。ビューには、jQuery テンプレートなどのクライアント側プログラミングを使用して、API コントローラーから返された json オブジェクトが取り込まれます。【これは過激すぎませんか?いいえreturn View(model)?本当?]

これで問題がなければ、通常のコントローラーはワーカー サービスを呼び出しません。代わりに、すべてのワーカー サービスを API コントローラーから呼び出す必要があります。それでは、これらの WorkerService とそのインターフェイスをどのように配置すればよいでしょうか?

さらに、領域が必要な場合はどうすればよいですか? API と WorkerService を領域外に配置する必要がありますか? または、各領域に API フォルダーと WorkerServices フォルダーがありますか?

計算された決定を下すために、今日の午後は間違いなく何度も考えます。あなたの提案や経験を教えてください。ありがとうございました。

4

1 に答える 1

4

フォルダーを分岐してControllers、Api コントローラーと標準コントローラーを分離することができます。

              |--- Api
Controllers - |
              |--- Standard

または、次の分離:

|-- Controllers
|-- Api

それは本当に個人的な好みの問題です。標準コントローラーと Api コントローラーを同じフォルダーに混在させないように注意してください。区別が難しいためです。

呼び出しに関する限り$.ajax、コントローラーがどこに配置され、サーバー上でどのように構成されているかは問題ではありません。着信 URL を対応するコントローラーにディスパッチするのは、ルーティング エンジン次第です。

于 2012-05-01T18:21:07.360 に答える