我想知道,在哪里
DateTime.Now;
从中获取数据?
它会从我的桌面获取数据吗?实际上,当我在调试下观察时确实如此。我将桌面时间改回了一个小时,而 datetime.now 给了我完全相同的日期/时间。
我真正的问题是,部署项目时这仍然适用吗?我的网站会继续从用户的电脑中获取时间吗?
这个问题的原因是,因为我将使用会话变量,我想在 x 分钟后处理这些变量。如果 datetime.now 从用户计算机获取时间,那么这将是一种安全问题。
提前感谢您的回答。
ASP.NET 在服务器上运行。它正在服务器上获取时间。请注意,在开发过程中,服务器通常恰好是“用户的 PC”,但这是巧合。
你的分析有对有错。DateTime.Now 将从运行代码的机器上获取时间。我假设您在 ASP 脚本上拥有该部分,当您部署它们时,它将在 Web 服务器上运行。因此,时间将是 Web 服务器而不是用户的 PC。
您可以通过客户端脚本从用户 PC 获取时间;像 JS。
您需要正确保存服务器日期。由于您的代码将在服务器上运行,您将继续获得正确的时间。更改客户端计算机日期不会影响服务器时间。您后面的所有代码(服务器端代码)都将获得正确的时间。
在 asp.net 或 c# DateTime.Now 中显示应用程序正在运行的服务器的时间。