BlazorServerでリッスンポート番号を変更する方法

BlazorServerはデフォルトで http://localhost:5000https://localhost:5001 でリッスンしています。

このポート番号を変更する方法について紹介します。

IWebHostBuilder UseUrls を使う

Program.cs では、以下のとおりCreateHostBuilderが記述されています。

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });

webBuilder.UseStartupのあとに.UseUrlsを使ってURLを指定します。

localhostのURLを1つだけ定義する

以下のように書くと、10111番ポートでhttpリクエストを受け付けます。

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>()
                .UseUrls("http://localhost:10111");
            });

localhostのURLを2つ以上定義する方法

UseUrlsはString型配列を引数として持つことができますので、以下のように複数のURLを定義することもできます。

このように書くと、http://localhost:10111https://localhost:10112 の2つで受け付けることになります。

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>()
                .UseUrls(new string[] {"http://localhost:10111", "https://localhost:10112"});
            });

外部ネットワークに向けてポートを解放する方法

URLをlocalhostではなくIPアドレスで指定すると、外部ネットワークに向けてポートを解放することもできます。

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>()
                .UseUrls(new string[] {"http://192.168.2.112:10111", "https://192.168.2.112:10112"});
            });

Blazor のおすすめ本

私もBlazorを用いていくつかウェブアプリを開発しました。フレームワークがとても分かりやすく、簡単にSPAを作れることが楽しいと感じています。

Blazor wasm であればAWS S3のようなウェブホスティングサービスでアプリを公開することもできますし、Blazor Serverアプリであれば簡単に2要素認証を構築できます。

Blazor は現在も開発が進められているフレームワークですので本の情報は少しずつ古くなってしまいますが、全体的・体系的に学ぶには、本はとても有力なツールです。

電子書籍になっていますので、まずは試し読みから始めてはいかがでしょうか。

内容
第1章 Blazorの仕組み
第2章 開発環境
第3章 最初のBlazorアプリ
第4章 コンポーネント
第5章 データバインディング
第6章 イベント処理
第7章 Razor記法
第8章 フォームと検証
第9章 データベースアクセス
第10章 Web APIの活用
第11章 SVGの活用
第12章 JavaScriptとの連携

コメント

タイトルとURLをコピーしました