我正在使用 AspNet.Core 和 .NET Framework 4.7.1 使用 DotVVM 框架(1.1.9 版)构建应用程序。在某些时候,我需要记录远程用户的 IP 地址。有没有办法在 ViewModel 中获取它?看过很多教程
Context
ViewModelBase 中有一个属性具有属性HttpContext
,但它是一些内置IHttpContext
接口,而不是正确的HttpContext
.
但是我发现我可以将现有IHttpContext
的内容转换DotvvmHttpContext
为包含OriginalContext
确实似乎是我正在寻找的属性的属性。
var remoteAddr = ((DotvvmHttpContext)Context.HttpContext).OriginalContext.Connection.RemoteIpAddress;
所以问题是,如果这是“安全”方法,还是有任何其他“正确”方法可以直接访问原始 AspNet HttpContext 或远程 IP 地址?