[解決済み] リモートホストのIPアドレスの取得
2022-05-07 23:04:30
質問
ASP.NETでは
System.Web.HttpRequest
クラスがあり、その中には
ServerVariables
プロパティからIPアドレスを取得することができます。
REMOTE_ADDR
プロパティの値です。
しかし、ASP.NET Web APIからリモートホストのIPアドレスを取得する同様の方法は見つかりませんでした。
リクエストを行うリモートホストの IP アドレスを取得するにはどうすればよいですか?
解決方法は?
それは可能ですが、あまり発見的ではありません - 着信リクエストからプロパティバッグを使用する必要があり、アクセスする必要があるプロパティは、IIS(webhosted)またはセルフホスティングの下でWeb APIを使用しているかどうかに依存します。以下のコードは、これがどのように行われるかを示しています。
private string GetClientIp(HttpRequestMessage request)
{
if (request.Properties.ContainsKey("MS_HttpContext"))
{
return ((HttpContextWrapper)request.Properties["MS_HttpContext"]).Request.UserHostAddress;
}
if (request.Properties.ContainsKey(RemoteEndpointMessageProperty.Name))
{
RemoteEndpointMessageProperty prop;
prop = (RemoteEndpointMessageProperty)request.Properties[RemoteEndpointMessageProperty.Name];
return prop.Address;
}
return null;
}
関連
-
[解決済み] Could not find a part of the path ... binroslyncsc.exe
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] C#がforeachで変数を再利用するのは理由があるのか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] JavaScriptSerializer - 列挙型を文字列としてJSONシリアライズする
-
[解決済み] すべてのサーバーサイドのコードでConfigureAwaitを呼び出すためのベストプラクティス
-
[解決済み] ASP.NETでユーザーのクライアントIPアドレスを取得する方法は?
-
[解決済み] 既存のASP.NET MVC 4 WebアプリケーションのプロジェクトにWeb APIを追加するにはどうすればよいですか?
-
[解決済み】ASP.NET MVCでクライアントのIPアドレスを取得するにはどうすればいいですか?
-
[解決済み] ASP.NET Web APIで複数のGETメソッドを持つ単一のコントローラ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】指定されたキャストが有効でない?
-
[解決済み】文字列が有効な DateTime " format dd/MM/yyyy " として認識されなかった。
-
[解決済み】パディングが無効で、削除できない?
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み】EF 5 Enable-Migrations : アセンブリにコンテキストタイプが見つかりませんでした
-
[解決済み】Swashbuckle/Swagger + ASP.Net Core: "Failed to load API definition" (API定義の読み込みに失敗しました
-
[解決済み】エラー「必要なフォーマルパラメータに対応する引数が与えられていない」を解決する?
-
[解決済み】ファイルやアセンブリ、またはその依存関係の1つをロードできませんでした。
-
[解決済み】Microsoft.Extensions.LoggingからILoggerを解決することができない
-
[解決済み] ASP.NETでユーザーのクライアントIPアドレスを取得する方法は?