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

C#ASP.NET CoreプロジェクトのProgram.csファイルの目的は何ですか?


ASP.NET Core Webアプリケーションは、実際には、Webアプリケーションのホストを作成できるProgramクラスのエントリポイントpublic static void Main()から実行を開始するコンソールプロジェクトです。

public class Program{
   public static void Main(string[] args){
      BuildWebHost(args).Run();
   }
   public static IWebHost BuildWebHost(string[] args) =>
   WebHost.CreateDefaultBuilder(args)
   .UseStartup<startup>()
   .Build();
}

ウェブホスト は、事前設定されたデフォルトでIWebHostおよびIWebHostBuilderのインスタンスを作成するために使用できる静的クラスです。

CreateDefaultBuilder() メソッドは、事前設定されたデフォルトでWebHostBuilderの新しいインスタンスを作成します。内部的には

Kestrel、IISIntegrationおよびその他の構成を構成します。次のisCreateDefaultBuilder()メソッド。

  • 「コンテンツルート」を現在のディレクトリに設定します
  • コマンドライン引数を構成オブジェクトにプッシュできるようにします
  • 設定オブジェクトに読み込まれるappsettings.jsonとappsettings。{Environment}.jsonの両方を追加します
  • 環境変数を構成オブジェクトに追加します
  • 開発中の場合は、シークレットの読み込みを許可します。
  • コンソール/デバッグロガーを追加します
  • Kestrelを使用し、loadedconfigからKestrel構成をロードするようにアプリに指示します
  • ルーティングを追加
  • IIS統合を追加します

アプリケーションをiisにホストする場合は、 UseIISIntegration()を追加する必要があります。 メソッドは、IISを外部Webサーバーとして指定します。

UseStartup () メソッドは、Webホストが使用するStartupクラスを指定します。スタートアップの代わりにカスタムクラスを指定することもできます。

Build() メソッドはIWebHostのインスタンスを返し、Run()は停止するまでWebアプリケーションを開始します。


  1. ASP .Net MVC C#でのChildActionOnly属性の使用は何ですか?

    子アクションには、子リクエストによってのみアクセスできます。 URLリクエストには応答しません。試行すると、次のようなランタイムエラーがスローされます-子アクションは子リクエストによってのみアクセス可能です。子アクションメソッドは、Action()およびRenderAction()htmlヘルパーを使用してビューから子リクエストを作成することで呼び出すことができます。 子アクションメソッドは、Action()またはRenderAction()ヘルパーを使用してNonActionmethodsを呼び出すことができないという点で、NonActionメソッドとは異なります。 以下は、URLを使用

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

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