ASP.NET MVCは、サービスレイヤーやAPIを開発するのに適したオプションですか?

asp.net-mvc service
ASP.NET MVCは、サービスレイヤーやAPIを開発するのに適したオプションですか?

ASP.NET MVCは、サービスレイヤーやAPIを開発するのに適したオプションですか? もしそうなら、参考のために彼らの固体の例があります。 ASP.NET MVCビューは通常aspxページに関連付けられていますが、XMLまたはJSONの形式でビューを作成するにはどうすればよいですか?

私が提案しているシナリオでは、パブリックAPIとしても公開されるnサービス層を消費するASP.NET MVCフロントエンドがあります。

  2  2


ベストアンサー

ビューに加えて、さまざまなActionResult型を返すコントローラーメソッドを作成できます。 ASP.NET MVCに既に組み込まれている可能性のあるActionResult型は次のとおりです。

System.Web.Mvc.ContentResult
System.Web.Mvc.EmptyResult
System.Web.Mvc.FileResult
    System.Web.Mvc.FileContentResult
    System.Web.Mvc.FilePathResult
    System.Web.Mvc.FileStreamResult
System.Web.Mvc.HttpUnauthorizedResult
System.Web.Mvc.JavaScriptResult
System.Web.Mvc.JsonResult  <----  Here is the one for JSON
System.Web.Mvc.RedirectResult
System.Web.Mvc.RedirectToRouteResult
System.Web.Mvc.ViewResultBase
    System.Web.Mvc.PartialViewResult
    System.Web.Mvc.ViewResult

さらに、選択したタイプを返す独自のActionResultを作成できます。

4


少なくとも私の意見では、このためにWCF(Windows Communication Foundation)を使用することで、より良いサービスを提供できます。

WCFを使用して多数のサービスを構築できますが、同じWCFサービスに異なるエンドポイントを指定することもできます。 これは、はるかに少ないコードを記述しながら、はるかに柔軟なパブリックAPI(RESTful Webサービス、WS- *標準を使用したSOAPベースのWebサービスなど)を提供できることを意味します。

3


あなたが安らかなサービスを作っているなら、MVCは素晴らしいと思います。 WS * Webサービス標準をサポートする場合は、おそらくWCFを使用する必要があります。 個人的には、WCFは、RESTfulなサービスを実行しているだけの場合は必要ない、多くの苦痛/オーバーヘッドだと思います。 WCFは、IISおよびASP.NETスタックの一部をバイパスする傾向があり、これは驚きの痛み(または、WCFの操作/構成を楽しんでいる場合は喜び)を引き起こす可能性があります。

3


WCFが進むべき道であるというジャスティンの答えを実証するために、WCFを使用すると、トランスポートの詳細を抽象化するプラットフォームが提供されます。 これにより、構成時にトランスポートを切り替える(または複数提供する)ことができます。 WebベースのJSON / RESTソリューションでは十分なパフォーマンスが得られず、クロスプラットフォームの相互運用性が必要ない場合は、構成を介してサービスをTCPベースまたはパイプベースに変更できます。 一方、ASP.NET MVCアプローチではこのようなオプションは提供されませんが、サービスの動作をより高度に制御できます。

1


タイトルとURLをコピーしました