web-dev-qa-db-ja.com

BlazorでクライアントIPとブラウザー情報を取得するにはどうすればよいですか?

Blazorサーバー側でIPアドレスやブラウザー名/バージョンなどのクライアント情報を取得するにはどうすればよいですか?

4
jsmars

さて、私は今朝この問題に遭遇しました、そして私がそれを解決する方法は、あなたが_Host.cshtmlに記入し、そしてあなたのBlazorコンポーネントのどこにでもアクセスできる文字列プロパティを含む静的クラスを作成することでした: Razorページはすでにこれをサポートしています。

    public static class BlazorAppContext
    {
        /// <summary>
        /// The IP for the current session
        /// </summary>
        public static string CurrentUserIP { get; set; }
    }

_Host.cshtml:

@inject IHttpContextAccessor httpContextAccessor
@{
    BlazorAppContext.CurrentUserIP =   httpContextAccessor.HttpContext.Connection?.RemoteIpAddress.ToString();
}

また、DIを介して使用できる一時的なアプローチを試すこともできます。

お役に立てば幸いです。

0
Daniel Lozano