WebApplication 上对象的 .Net 持久性

.Net persistency of object on WebApplication

我是 运行 我在 IISServer 上的 WebApplication。
我创建了静态 class:

public class JMSInformationGetterUAT
{

    private static String userName = "123";
    private static String password = "321";

    public static String runningJMS = "";

    private static Admin adminConnection = null;

     public static void Init()
    {
        try
        {
            String serverUrl = "tcp://localhost:1232";

            adminConnection.CommandTimeout = 500;
            adminConnection = new Admin(serverUrl, userName, password);
            runningEMS = "JMS1Instance";

        }
        catch
        {
            EMSCriticalFailure = true;
        }
    }   

}

并将其添加到 Global.asax.cs:

protected void Application_Start(object sender, EventArgs e)
    {
        JMSInformationGetterUAT.Init();
    }

... 在我使用 JMSInformationGetterUAT.RunningJMS 的页面上,我只收到错误消息:

"Object reference not set to an instance of an object".

在 JMS 端(该应用程序用于快速监控)我看到 1 毫秒的连接,然后是 none - 但在由 Init() 方法填充的对象 adminConnection 中应该保持连接。我引用这个对象也是空的...

那么为什么这个对象不是持久化的呢?它有静态前缀...

请帮帮我

在实例化新 Admin 之前,您正在设置 adminConnection 的 属性 CommandTimeout。

adminConnection = 新管理员 (...)

需要在您可以访问任何非静态属性之前发生。

根据 Fran 的建议,我对代码做了一些更改。 现在可以使用了:

public class JMSInformationGetterUAT{

private static String userName = "123";
private static String password = "321";

public static String runningJMS = "";

private static Admin adminConnection = new Admin("localhost:1234", userName, password);

 public static void Init()
{
   //some other logic i needed
}   }