加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – WPF中的会话?

发布时间:2020-12-15 03:47:35 所属栏目:百科 来源:网络整理
导读:在ASP.NET中,我可以执行Session [“something”] = something;然后我可以在另一个页面中检索会话的值. WPF中是否有一个Session允许我在ASP.NET中执行同样的操作?我注意到WPF中没有会话,因为有状态.因为我有很多用户控制页面,我需要获取它的值并显示在MainWi
在ASP.NET中,我可以执行Session [“something”] = something;然后我可以在另一个页面中检索会话的值. WPF中是否有一个Session允许我在ASP.NET中执行同样的操作?我注意到WPF中没有会话,因为有状态.因为我有很多用户控制页面,我需要获取它的值并显示在MainWindow上.

有什么类似于WPF中的Session吗?

有些资源说使用cookies.我怎么做?我的WPF应用程序不是WPF Web应用程序?

解决方法

如果我正确理解您的问题,您只需要在程序中为某些值提供某种全局存储.

您可以为需要存储的各种值创建具有公共静态属性的静态类,并能够在应用程序内全局访问.就像是:

public static class Global
{
    private string s_sSomeProperty;

    static Globals ()
    {
        s_sSomeProperty = ...;
        ...
    }

    public static string SomeProperty
    {
        get
        {
            return ( s_sSomeProperty );
        }
        set
        {
            s_sSomeProperty = value;
        }
    }

    ...
}

这样,您可以在Global类可用的代码中将Global.SomeProperty写入任何地方.

当然,您需要验证,并且 – 如果您的应用程序是多线程的 – 正确的锁定,以确保您的全局(共享)数据在线程之间受到保护.

这个解决方案比使用像session这样的方法更好,因为你的属性将被强类型化,而且没有基于字符串的查找属性值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读