2017-01-24 11 views

答えて

6

tl/dr:ステートレスWeb APIは、古い「古典的な」Web APIです。 ASP.NET Coreは、すべての新機能が登場する新しいものです。

詳細:

ステートレスのWeb APIテンプレート:OWINに基づいて

  • "クラシック" のASP.NET Web API 2。 MVC(Razorサーバー側レンダリングなし)をサポートしていません。
  • .NET Frameworkのみ。
  • は2015年
  • 自体は、WindowsのHTTPサーバーのAPIを使用していますSystem.Net.HttpListener上に構築されたWebホスト、ためKatanaを使用するVisual Studioの "古典的な" .NETプロジェクトタイプ(.csproj)を使用します( http.sys)。

ASP.NETコアテンプレート:

  • 新しいASP.NETコア、MVCとWeb APIを組み合わせ、カミソリ、サーバー側のレンダリングやASP.NETからの新機能の富を提供しています。
  • 完全な.NET Frameworkまたは.NET Coreですが、現在は完全な.NET FrameworkのみがService Fabricでサポートされています。
  • Visual Studio 2015で新しい.NETプロジェクトタイプ(.xproj)を使用します。このプロジェクトタイプのVS 2015でのツールは、「プレビュー」と見なされます。新しいVisual Studio 2017(これは.csprojに戻って変更されています)では、ツールは「プロダクション」としか見なされません。これは主にVS2015に両方のプロジェクトテンプレートがある理由です。
  • ウェブホストとしてWebListener or Kestrelを使用します。
    • WebListenerもhttp.sysに基づいており、完全にサポートされています。
    • Kestrelは完全に異なるクロスプラットフォームライブラリ(libuv)に基づいており、現在の状態では、DoS保護を提供するためにリバースプロキシを使用せずにインターネットに接続するプロダクションアプリケーションに入れることは推奨しません。その名前にもかかわらず
2

次に大きな違いは、ASP.NETコアWeb API.NETコアに本当に構築されていることです。どちらのタイプでも、ステートレスサービス、同一のServiceManifests、ETWロガーを提供し、同じ方法でサービスを開始します。

ASP.NETコアウェブAPIテンプレートが本当に唯一のASP.NETコア・ホストのベースのリスナーを作成するためのヘルパーを含む追加のアセンブリMicrosoft.ServiceFabric.AspNetCore.WebListener(からWebListenerCommunicationListenerMicrosoft.AspNetCore.Hosting.IWebHostを使用してHTTPリスナーを設定します。また、あなたのASP.NETコアMVCベースのWeb APIの足場を提供します。

ステートレスWeb APIのテンプレートではなく、プロジェクトのソースに含まれているOwinCommunicationListenerMicrosoft.Owin.Hosting.WebAppを使用してHTTPリスナーを設定します。

ありISNはサービスファブリックがサービスを作成する結果をどのように処理するかの違いこれらの2つのテンプレートやサービスの種類は、ボイラープレートとして使用する場合の違いに過ぎません。また、テンプレートによって設定されたプロジェクトについて特別なことは何もなく、空のプロジェクトを作成してNuGetsを追加し、必要なPackageRootファイルを手動で作成して新しいサービスを作成することができます。

基本的に.NETコアを使用してサービスを構築するかどうかを選択しています。

+2

、それはそれはあなたが新しいASP.NETのライブラリとツールまたは「古典的」なものを使用しているかどうかについてです、本当に.NETのコアについてはあまりありません。サービスファブリックSDK自体は.NETコアをまだサポートしていないため、ASP.NETコアを使用していても.NET Framework全体に対してビルドする必要があります。 –

+0

これはまだですか? –

+0

@l --'''''''''- '' '' '' '' ''、はい、AFAIKは、SDKのプレビューリリースを使用していない限り、依然として該当します。プレビュー(信頼できるサービス/アクターの場合は3.0、ServiceFabricの場合は6.1)は.NETコアの構築をサポートしています。 pの詳細を参照してください。 [最新リリースノート]の6ページ(https://msdnshared.blob.core.windows.net/media/2017/09/Microsoft-Azure-Service-Fabric-Release-Notes-SDK-2.8.0-Runtime-6.0) 0.pdf) – yoape

関連する問題