gpt4 book ai didi

c# - 我应该使用 session 吗?

转载 作者:太空宇宙 更新时间:2023-11-03 20:28:56 24 4
gpt4 key购买 nike

我正在设计一个供内部使用的在线时间跟踪软件。尽管我有丰富的 PHP 经验,但我对 C# 和 .NET 还很陌生。

我正在使用 Windows 窗体身份验证,一旦用户使用它登录,我就会创建一个时间表对象(我自己的自定义类)。

作为此类的一部分,我有一个构造函数来检查 SQL DB 的信息(该用户的最近条目、用户首选项等)

我应该将此信息存储在 session 中吗?然后首先检查构造函数中的 session 对象?这似乎是显而易见的方法,但我看过的大多数示例都没有充分利用 session 。有什么我不知道其他人在做的事情吗(当然,特别是与 .NET session 相关)?

编辑:我忘了提两件事。
1.我的 SQL 数据库在另一台服务器上(尽管我相信它们都在同一个网络上,所以问题不大)
2。有一些用户无法更改的常量(只有管理员可以修改它们),例如项目任务。这些在每个页面上都使用,但第一次从数据库加载。我应该将这些存储在 session 中吗?如果没有,还有什么地方?
我能想到的唯一其他方法是本地平面文件,每次更新项目表时都会更新,但这似乎是一种 hack 解决方案。我是不是在尽量减少对数据库的调用?

最佳答案

这里有一个关于 ASP.NET Session 的很好的概述:ASP.NET Session State .

如果您没有成千上万的客户端,但需要在服务器端存储“某些状态”,这非常易于使用并且效果很好。也可以在多服务器场景下存入数据库,一行代码不改,配置即可。

我的建议是不要在其中存储“大”或完整的对象层次结构,因为在 session 中存储(例如,如果 session 在数据库中的网络场中的服务器之间共享)可能会有些昂贵。如果您计划只有一台服务器,这并不是真正的问题,但您必须知道,您无法轻松地迁移到多服务器模式。

最糟糕的做法是跟随那些只会说“session 很糟糕,whooooo!”的人,不要使用它,并最终重写你自己的系统。如果你需要它,使用它:-)

关于c# - 我应该使用 session 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8656785/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com