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