.WebApplication上的.Net持久性

时间:2017-03-04 01:34:34

标签: .net object server persistence

我在IISServer上运行我的WebApplication 我创建了静态类:

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时,我只会收到错误:

  

"对象引用未设置为对象的实例"。

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

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

请帮帮我

2 个答案:

答案 0 :(得分:2)

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

adminConnection = new Admin(...)

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

答案 1 :(得分:0)

我在弗兰的建议后稍微改变了一下代码。 现在它起作用了:

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
}   }