2016-07-11 5 views
4

私は現在、asp.netコアに関するドキュメントを読んでいます。しかし、このpage about serversは私をちょっと混乱させました。私が理解する限り、ASP.NETコアアプリケーションは、httpサーバーを起動しているコンソールアプリケーションだけです。 IISのようなhttpサーバーは、逆プロキシとして使用できます。IIS Expressをローカルで実行するのはなぜですか?

パフォーマンス上の理由からです。開発中にIIS Expressをローカルで実行するのはなぜですか?私はそこで本当のパフォーマンスが必要なのではないですか? IISはより豊富な機能を備えているからですか?どの機能がIISでうまくいくのですか?

+2

WebListener/Kestrelの亜種はSSLをサポートしていません。少なくとも簡単で安全ではありません(設定、ソース、または秘密ストアのいずれかに秘密鍵パスワードが必要です)が、IISでは既に証明書ストアからインポートされた証明書と最も一般的なシナリオの1つは、iis alsリバースプロキシの背後でアプリケーションを実行することです。IISはASP.NETコアモジュール(IIS用のASP.NETコアモジュールを使用)に近づき、トラフィックをkestrelにリダイレクトしますサーバの背後に – Tseng

答えて

0

開発時に実行するサーバーは、運用環境で展開する予定のサーバーによって異なります。

ASP.NETコアアプリケーションをLinuxにデプロイする場合、またはnginxのようなリバースプロキシでKestrelを使用する予定の場合は、開発中にKestrelを使用してテストする必要があります。

WindowsマシンとIISに展開する場合は、開発中のIIS Expressを使用してテストする必要があります。

単純なアプリケーションでは、KestrelまたはIIS Expressでローカルに実行しているときにASP.NETコアの機能に大きな違いはないことがわかりました。私は主に、私が展開しようとしているサーバーで動作することを確認するためのテストに興味があります。

+1

IIS Expressを実行している場合でも、WeblogenerまたはKestrel(Heliosは放棄されました)というASP.NETコアアプリケーションをホストする2つのサポートされた方法しかないため、Kestrelで実行します。 WebListenerはWindows上でのみ動作するので、Kestrelを実行するのが自然です。 – Tseng

+0

@Tseng Ah、TIL。明確化のためにありがとう。 –

+1

[This](This:https://github.com/aspnet/KestrelHttpServer/issues/957)は読む価値があります – Pawel

1

IISを開発中にローカルで実行するのはなぜですか?

純粋な利便性。 IIS ExpressにはVisual Studioが付属しています。 F5または^ F5とIIS Expressが起動します。

+0

IIS Expressは長年にわたって存在しており、正当な理由なしにユーザーに別のことを驚かせる必要はありません。 –

+0

私はなぜ2つのhttpサーバを同時に実行するという余分な「複雑さ」を追加するのかと考えました。経験豊富な開発者として、それは便利だと感じていますが、新しい開発者としては、iisについて何かを学ぶ必要があります。 –

関連する問題