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
} }
我是 运行 我在 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
} }