0

2 つのことを必要とするアプリを作成したいと考えています。

1. 2 つの個別のプロジェクトを作成します。1 つは Web API 用で、もう 1 つは ASP.NET MVC 用です。MVC は Web API と通信してデータを取得し、ビューをレンダリングします。 2. 単一の ASP.NET MVC プロジェクトを作成します。そして、APIController から派生するクラスを作成します。次に、上記と同様のことを行います。

私が理解しているように、パフォーマンスは両方のアプローチで同じでなければなりません。しかし、この記事を読んだ後では、よくわかりません。

記事からの引用:

「API 用に別のプロジェクトを作成することにより、ASP.NET MVC の「API」でそれを行うことができますが、MVC のレンダリング パイプラインを介してフィルター処理する API 要求のパフォーマンス ペナルティを支払うことになります。コンソール アプリでホストされている Web API エンドポイントは、MVC プロジェクト内でホストされている ASP.NET コントローラー アクションと Web API エンドポイントの両方よりも 50% 近く高速であることがわかりました。」

私は ASP.NET の専門家ではないので、説明を聞いたり、やりたいことを達成する方法をアドバイスしたりしたいと思っています。

また、このプロジェクトで MEF を使用したい場合は教えてください。

どうもありがとう。

4

1 に答える 1

0

ASP.NET MVC ではなく、選択したホスティングに関係していると思います。コンソール ホストを検索する場合、50% 高速になるのは、ASP.NET のすべてのオーバーヘッドがないためです。ASP.NET Web API のセルフホストは、WCF Http リスナー (内部的に http.sys を使用) の上にマウントされるため、通信はより直接的になり、ASP.NET はまったく関与しません (IIS も含まれません)。MVCがそれに大きな影響を与えているとは思いません。Web API とページがかなり関連している場合は、それらを同じプロジェクトに保持します。

于 2012-11-01T15:34:27.357 に答える