0

我创建了一个类来验证我的项目。

我想在我的网站和移动应用程序中使用它,但是为什么这个类有一个静态构造函数并且应该一次获取实例,它不能很好地工作,我的意思是我想为每个应用程序获取一次实例。

我想知道怎么修?

4

1 回答 1

0

在我看来,您正在寻找单例模式。

“我的意思是我想为每个应用程序获取一次实例。”

我假设您的意思是您想为每个应用程序构建一个实例。

最简单的实现是使用这个:

public class MyAuth
{
    private static readonly MyAuth instance = new MyAuth();
    public static MyAuth Instance { get { return instance; } }

    private MyAuth()
    {
        // initialization goes here and will be called once
    }

    // Members. 
}

所以首先,我不确定这是否是一个好的解决方案。授权通常从不同的应用程序更新,因此最好偶尔刷新身份验证。

其次,注意成员函数可以从多个线程中调用。如果你想这样做,你必须对你使用的字段使用锁定(直接或间接)。一定要知道你在做什么。

有一种替代解决方案可以巧妙地解决所有这些问题(以及大量其他问题)。它被称为数据库;您可能要考虑使用它。

于 2015-07-29T06:06:57.797 回答