ASP.NETコアプロセス(インプロセス)内でのホスティング
著者: -梁Tongmingマイクロソフト最も価値のあるプロフェッショナル(マイクロソフトMVP)
記事はリリースで更新されます、私は、最新バージョンの懸念を取得
この記事はから来て、「スクラッチ学習ASP.NETコアとEntityFrameworkコア」ディレクトリ
:ベタービデオコースエフェクトクロスマスターASP.NETコアEntityFrameworkコアへのプラットフォームの開発と戦闘
ASP.NETコアプロセス(インプロセス)内でのホスティング
このビデオでは、我々は説明します
- ASP.NETコア(インプロセス)のホスティングモデルの過程で
- ケストレルサーバとは何ですか
アプリケーションがASP.NETコアを実行すると、.NETランタイムを探します Main()
、それは、このアプリケーションのための出発点であるので、方法。
その後、Main()
この方法は、静的クラスと呼ばれるWebHost
静的メソッドCreateDefaultBuilder()
。
このCreateDefaultBuilder()
方法は、次のようないくつかのタスクを、実行します。
- WebサーバとしてケストレルとIISの統合を可能にします。
- 元の設定から設定をロードします。
- ログを構成します
レッスンの後、我々はそうでホストやアプリケーションの設定情報の内容と構成ログをロードして、さまざまな構成可能なソースのasp.netコアについて説明します。
このビデオでは、私たちが理解してみましょうCreateDefaultBuilder()
設定し、Webサーバーの機能を設定するために使用される方法を。ASP.NETコアアプリケーションは、プロセス中に(インプロセス)プロセスまたは外部(OutOfProcess)でホストすることができます。このビデオでは、我々は次のビデオをホストするインプロセス(インプロセス)を説明します、我々は外部プロセス(OutOfProcess)ホスティングについて説明します。
インプロセス(インプロセス)ホスティング
インプロセスホストを設定するには、してください<AspNetCoreHostingModel>
のアプリケーション内の値プロジェクトファイルに追加します InProcess
我々は、利用可能なプロジェクトテンプレートのいずれかを使用することを選択した場合、すべてのIISおよびIIS Expressの構成はインプロセスとして(インプロセス)をホストしているため、デフォルトで新しいASP.NETコアプロジェクトを作成します。
ホストされたインプロセスの場合、CreateDefaultBuilder()
メソッド呼び出しUseIIS()
(w3wp.exeのかiisexpress.exe)**メソッドをし、IISワーカープロセス内のアプリケーションを開催しました***。
- パフォーマンスの観点からは、インプロセスのホスティングはOutOfProcessホスティング要求よりも高いスループットを提供します。
- IISの場合は、アプリケーション名の実行のプロセスがW3WPで、IIS Expressのために、それはiisexpressです
- アプリケーション・プロセスの実行の名前を取得するには、使用してください
System.Diagnostics.Process.GetCurrentProcess().ProcessName
- 我々は、Visual Studioからプロジェクトを実行すると、それIISExpressデフォルト。
- IIS Expressは、アプリケーション開発用に最適化され、IISの軽量自己完結版です。私たちは、生産のためにそれを使用することはありません。生産では、IISを使用します。
- 私たちは、後のレッスンでは誰もが持ってIISにASP.NETコアアプリケーションをデプロイします。
プロセスのうちホスティング(アウトプロセス)
- 2台のWebサーバー、Webサーバー、内部および外部のWebサーバがあります。
- 内部Webサーバーは、ケストレル、外部のWebサーバはIIS、nginxのまたはApache可能です。
- 唯一の1つのWebサーバー、負荷のIISのasp.net Coreアプリケーションをホスティング使用インプロセス。このように、内部および外部のWebサーバとの間で、要求はその代理人とパフォーマンスの損失なしではありません。
ケストレルは何ですか
ケストレルは、ASP.NETコアクロスプラットフォームのWebサーバーです。すべてのサポートされるプラットフォームと.NETのコアのバージョンは、それを支持しました。それは、内ASP.NETコア内の内部サーバとしてデフォルトで含まれています。ケストレルエッジサーバー自体は、Webサーバのための、すなわちインターネットを使用することができる、それが直接クライアントからの着信HTTP要求を処理することができます。
ケストレルでは、アプリケーションをホスティングするためのプロセスがありますdotnet.exe
。私たちが使用している場合.NET Core CLI
、コアアプリケーションの.NETを実行しているとき(コマンドラインインタフェース)を、アプリケーションはWebサーバとしてケストレルを使用しています。
.NETのコアCLIは、.NETのコアアプリケーションを開発するためのクロスプラットフォームのツールです。CLIを使用することで行うために私たちをコマンド:
- 指定されたテンプレート、プロファイルやソリューションに基づいて新しいプロジェクトを作成します。
- ネットコアプロジェクトパッケージに必要なすべての依存関係やツールを復元
- プロジェクトをビルドし、そのすべての依存関係
- .NETのコアプロジェクトを実行し、そうで......
私たちは多くのことを行うには、.NETのコアCLIを使用することができます。
単にCLIの下で
.NETのコアCLIは、私たちのAsp.Netコア・アプリケーションを実行使用します。
- Windowsのコマンドプロンプトを起動します
- asp.netコアプロジェクトフォルダを含むファイルへのディレクトリを変更し、実行
dotnet run
コマンドを - C:\プロジェクト\ソース\レポ\ StudentManagement \ StudentManagement>
dotnet run
ビルドと.NETのコアCLIでプロジェクトを実行した後、それがアプリケーションにアクセスするためのURLが表示されます。私の例では、アプリケーションは、ブラウザのアドレスを介してアクセスすることができますhttp://localhost:5000 查看内容。
ケストレルでは、ホスティングおよびアプリケーションを実行するためのプロセスがありますdotnet.exe
。
だから我々は、に移動したときにhttp://localhost:5000
、我々は、プロセス名が表示されますときdotnet
。
次の動画:ASP.NETコアの外側にホスティングモデルのプロセスで
記事の内容
あなたは、私の記事の品質が良いと思い報酬を歓迎している場合、あなたはまた、ああ、私のビデオを購読することができ、
許可はこの記事を転載することはできませんされていない、52abp.comは著作権を保持
私のためのご支援に感謝します