gpt4 book ai didi

c# - ASP.Net 中静态类的生命周期

转载 作者:太空宇宙 更新时间:2023-11-03 18:09:47 25 4
gpt4 key购买 nike

在我的 UI 层中,我在 session 状态中存储了一些时区信息。

我现在需要访问我的服务/业务/数据层中的时区。

从我的 UI 层,我传递登录用户的 UserID,我的数据库存储了该用户的时区信息。我不想将时区与用户 ID 一起传递。

时区仅用于时间很重要的少数调用。 (有没有开始一个项目,今天有人休假..等)。

我在想也许有一个静态类,它在所有层(服务/业务/数据)上都被引用,它有一个时区信息字段。我希望它是静态的,以便我可以引用它:

var CurrentDate = CommonClass.GetLocatDateTime(_userId);

这可能会返回一个 DateTime

然后,如果 CurrentDate == null,使用 UserId,从数据库中为该用户获取 TimeZoneId - 因此,数据库调用只会发生一次,并且只有在之前没有发生的情况下才会发生。

但是,静态类什么时候“出生”和“死亡”?

它是针对用户的每个 session 吗?或者是在 Asp.Net 应用程序运行时?当我说用户 session 时,我的意思是,每次用户单击某项时,都会创建一个新 session ,因此,我的静态类会被创建吗?还是静态类对所有其他 session “可见”?我希望它仅限于当前用户。

最佳答案

But, when is the static class 'born' and 'killed'?

您不需要类的引用来访问静态成员。所以从来没有出生或死亡。

Is it per session of a user?

不,它对您的整个应用程序是全局的,并在所有用户之间共享。

I want it to be limited to the current user.

然后忘记静态成员并使用 session 。

关于c# - ASP.Net 中静态类的生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18224442/

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