C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#Asp.net CoreでのUseIISIntegrationの使用は何ですか?


すべてのASP.NETCoreアプリケーションには、基本的にアプリケーションおよびWebサーバーとして機能するWebHostオブジェクトが必要です。 WebHostBuilderは、WebHostを構成および作成するために使用されます。通常、WebHostBuilderセットアップコードにUseKestrel()とUseIISIntegration()が表示されます。

これらは何をしますか?

UseKestrel() −これにより、KestrelのIServerインターフェースが、アプリケーションのホストに使用されるサーバーとして登録されます。

将来的には、WindowsのみになるWebListenerなど、他のオプションもある可能性があります。

UseIISIntegration() −これは、IISがKestrelの前でリバースプロキシとして機能することをASP.NETに通知します。

次に、Kestrelがリッスンするポート、転送ヘッダー、およびその他の詳細に関するいくつかの設定を指定します。

public class Program{
   public static void Main(string[] args){
      var host = new WebHostBuilder()
      .UseKestrel()
      .UseContentRoot(Directory.GetCurrentDirectory())
      .UseIISIntegration()
      .UseStartup()
      .Build();
      host.Run();
   }
}

ASP.NET Core 2.2まで、ASP.NET CoreはIISでアウトプロセスでホストされていましたが、アプリケーションには2つのプロセスがありました-

w3wp.exe、 IISプロセス

dotnet.exe、 KestrelWebサーバーが開始されたASP.NETCoreプロセス。これは、IISとKestrelがこれら2つのプロセス間で通信していたことを意味します。

このシナリオでは、UseIISIntegrationを使用します。


  1. ASP .Net MVC C#でのNonActionAttributeの重要性は何ですか?

    NonAction 属性は、コントローラーにパブリックメソッドが必要であるが、アクションメソッドとして扱いたくない場合に使用されます。アクションメソッドは、URLを使用して呼び出すことができるコントローラーのパブリックメソッドです。したがって、デフォルトでは、コントローラーにパブリックメソッドがある場合、URLリクエストを使用して呼び出すことができます。コントローラのパブリックメソッドへのアクセスを制限するには、NonAction属性を使用できます。 ここで、HomeControllerに2つのパブリックメソッドMyMethod1とMyMethod2があると考えてみましょう。 。 コントロ

  2. C#ASP.NET WebAPIのさまざまな種類のフィルターは何ですか?

    フィルタは、WebApiFrameworkリク​​エスト処理のさまざまなレベルで追加のロジックを挿入するために使用されます。フィルタは、横断的関心事(ロギング、承認、およびキャッシング)の方法を提供します。フィルタは、宣言的またはプログラム的な方法でアクションメソッドまたはコントローラに適用できます。以下は、Web API C#のフィルターの種類です。 認証フィルター − 認証フィルターは、ユーザーの詳細を認証するのに役立ちます。認証フィルターでは、ユーザーの信頼性をチェックするためのロジックを記述します。 認証フィルター − 承認フィルターは、ユーザーアクセスのチェックを担当しま