AspNet.Core と .NET Framework 4.7.1 を使用して、DotVVM フレームワーク (ver 1.1.9) を使用してアプリを構築しています。ある時点で、リモート ユーザーの IP アドレスを記録する必要があります。ViewModel 内でそれを取得する方法はありますか? 私は多くのチュートリアルを見てきました
プロパティContext
を持つ ViewModelBase にプロパティHttpContext
がありますが、それは組み込みIHttpContext
インターフェイスであり、適切な ではありませんHttpContext
。
しかし、実際に私が探していたものと思われるプロパティを含む既存のIHttpContext
ものをキャストできることがわかりました。DotvvmHttpContext
OriginalContext
var remoteAddr = ((DotvvmHttpContext)Context.HttpContext).OriginalContext.Connection.RemoteIpAddress;
したがって、問題は、これが「安全な」アプローチであるか、元の AspNet HttpContext またはリモート IP アドレスに直接アクセスするための「適切な」方法があるかということです。