1. ホーム
  2. Web プログラミング
  3. ASP.NET
  4. 実用的なヒント

ASP.NET CoreでURLを設定する5つの方法

2022-01-14 11:13:50

プリアンブル

ASP.NET Core 3.1 で開発する場合、サーバーがリッスンするポートとプロトコルを設定する必要があります。 公式ヘルプドキュメント は、URLの指定方法として以下の4つがあることを簡単に説明しています。

    {を使用します。 設定 {コード 環境変数です。
  • を使用します。 ASPNETCORE_URLS コマンドライン引数を指定します。
  • を使用します。 dotnet --urls を設定のキーとして使用します。
  • 使用方法 {コード の拡張メソッドです。

URLの設定方法を明確にするために、以下のような名前の拡張機能を作成します。 urls ASP.NET Core Web API アプリケーションで、デフォルトでは ASP.NET Core 起動後、次の URL をリッスンすることを説明します。

http://localhost:5000

https://localhost:5001

URLフォーマット

URL形式の表現は主に3種類あり、公式ドキュメントで確認することができます( https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-3.1 )

フォーマット1. UseUrls 例えば AspNetCoreUrl , {コード

フォーマット 2. {scheme}://{loopbackAddress}:{port} 例えば http://localhost:5000, {コード

フォーマット 3. https://localhost:5001例えば {scheme}://{IPAddress}:{port} , {コード

前提条件

URL を設定するいくつかの方法をテストする前に、まず URL を http://127.0.0.1:5000プログラムを作成し、出来上がったルートディレクトリでコマンドラインツールを開き、それに従ってテストします。

見ての通り、ここでの私のプログラムのルートは https://192.168.1.100:5001で、使用する端末は、Microsoft Windows PowerShellの公式サイト

方法1 環境変数を利用する

を変更せずに {scheme}://*:{port} ソースコードを一切変更せずに(つまり、プロジェクト作成時のデフォルトの状態)、ルートディレクトリに生成されたプログラムを見つけて、コマンドライン・ターミナルを開いてください

http://*:5000

Windows のコマンドライン(cmd コマンドライン)を使用する場合は、次のように設定します。

プレ https://domain.com:5001

注意:setxで環境変数を設定した後、環境変数を有効にするために新しいWindowsコマンドラインウィンドウを開く必要があります。

Linuxシステムで環境変数を設定するには、次のコマンドを使用します。

AspNetCoreUrl
http://localhost:7000;https://localhost:7010

方法2 コマンドライン引数を使用する

生成されたプログラムのルートディレクトリにある D:\AspNetCoreUrl\AspNetCoreUrl\bin\Debug\netcoreapp3.1 コマンドで、urlsパラメータを指定します。

AspNetCoreUrl
http://localhost:7001;https://localhost:7011

画像

方法3 設定ファイルを使用する

生成されたプログラムのルートディレクトリにある # Environment variables only take effect in the current command line window $Env:ASPNETCORE_URLS = "http://localhost:7000;https://localhost:7010" # Or use the DOTNET_URLS environment variable to take effect as well $Env:DOTNET_URLS = "http://localhost:8000;https://localhost:8010" # Run the AspNetCoreUrl program dotnet AspNetCoreUrl.dll ファイルを開き、url設定項目を追加し、その上で # Environment variables only take effect in the current command line window set ASPNETCORE_URLS=http://localhost:7000;https://localhost:7010 # Save the ASPNETCORE_URLS variable to the user environment variable setx ASPNETCORE_URLS "http://localhost:7000;https://localhost:7010" # Add the /m parameter to save the ASPNETCORE_URLS variable to the system environment variable setx ASPNETCORE_URLS "http://localhost:7000;https://localhost:7010" # Run the AspNetCoreUrl program dotnet AspNetCoreUrl.dll を実行します。

# Environment variables are only valid in the current terminal and need to be set again after closing the terminal
export ASPNETCORE_URLS=

画像

走行の結果は以下の通りです。

方法4 UseUrlを使用する

この方法では、ソースコードを修正して dotnet --urls ファイルを編集し dotnet AspNetCoreUrl.dll --urls メソッド、主にUseUrls拡張メソッドを追加し、プログラムを生成します。

appsettings.json

画像

注意:実行する前に、あらかじめ AspNetCoreUrl.exe ファイルをデフォルトの状態、つまり URL を設定していない状態にします。 そうしないと、設定ファイルの設定がコード内のメソッドを上書きしてしまいます。

方法5 Kestrelを使用する

この方法は、Kestrelを使用する場合にのみ有効であるため、公式ドキュメントには記載されていません。ASP.NET Coreアプリケーションを作成する場合、アプリケーションのホストにはデフォルトでKestrelが使用され、このメソッドを使用するための対応するアプリケーションシナリオがありますので、以下にその使用方法を簡単に説明します。 /以下は、このメソッドの使用方法について簡単に説明したものです。

開く { "urls":"http://localhost:7002;http://localhost:7012" } ファイルを編集し Program.cs メソッド

CreateHostBuilder

画像

優先順位

先ほど紹介した5つのメソッドはそれぞれ独立して動作していますが、この5つのメソッドを同時に使用した場合、どのような効果があるのでしょうか。ここでは、テストを容易にするために、各メソッドは異なるポートを使って区別していますが、すべてのメソッドを使って実行した結果を以下に示します。

画像

このように、実質的に使われているのはKestrelメソッドですが、今度はこのようにKestrelをコメントアウトして実行すると、次のような結果が得られます。

この時点でコマンドライン引数方式が有効であることがわかります。コマンドライン引数方式を使用しない場合、実行結果は次のようになります。

有効になっているのは設定ファイル内の設定ですが、今度は設定ファイル内のurlsの設定を削除して、以下のように実行した結果です。

有効なのはUseUrls拡張メソッドです。ここでUseUrlsメソッドのコードをコメントアウトして実行すると、次のような結果が得られます。

有効なのは環境変数で、環境変数が設定されていない場合はデフォルト値が使用されます、つまり public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); // Use UseUrls to set the port and protocol to listen on webBuilder.UseUrls("http://localhost:7003", "https://localhost:7013"); }); appsettings.json .

概要

この記事では、ASP.NET CoreでURLを設定する一般的な方法をいくつか紹介しました、あなたはプロジェクトの実際の状況に応じて、1つまたは複数の方法を選択することができます、あなたが同時にURLの設定のいくつかの方法を使用する場合は、設定の優先順位に注意する必要があります、テスト後 テストの結果、以下のことが判明しました。
{コード

自分で試してみたいという方は、コードアドレスが
gitee https://gitee.com/gyhgis
github https://github.com/gyhgis

URLを設定するには、より関連するASP.NET Coreは、URLの内容を設定するには、以前の記事を検索してくださいまたは次の関連記事を閲覧し続けることは、スクリプトの家をサポートすることを願っています!.