【发布时间】:2010-10-26 07:26:02
【问题描述】:
我们正在使用 ASP.NET 3.5 应用程序中的 TIBCO EMS 作为外部系统的一个接口,它似乎工作得很好 - 除了运行另一端的人告诉我们我们正在建立连接,例如疯狂并且永远不会关闭它们....
我正在做的是通过单个类路由所有 TIBCO 流量,该类具有 TIBCO ConnectionFactory 和 Connection 本身的静态成员变量,我被告知构建它们非常耗费资源和时间:
private static ConnectionFactory Factory
{
get
{
if (HttpContext.Current.Application["EMSConnectionFactory"] == null)
{
ConnectionFactory connectionFactory = CreateTibcoFactory();
HttpContext.Current.Application["EMSConnectionFactory"] = connectionFactory;
}
return HttpContext.Current.Application["EMSConnectionFactory"] as ConnectionFactory;
}
}
private static Connection EMSConnection
{
get
{
if (HttpContext.Current.Application["EMSConnection"] == null)
{
Connection connection = Factory.CreateConnection(*username*, *password*);
connection.ExceptionHandler += new EMSExceptionHandler(TibcoConnectionExceptionHandler);
connection.Start();
HttpContext.Current.Application["EMSConnection"] = connection;
}
return HttpContext.Current.Application["EMSConnection"] as Connection;
}
}
现在我的麻烦是:我在哪里以及如何
- 告诉 TIBCO 连接在不再需要时“自动关闭”(例如
SqlConnection) - 出现错误时关闭 TIBCO 连接
- 在我们的 ASP.NET 应用程序完成(或用户注销)之前关闭 TIBCO 连接
我似乎并没有从 C# / .NET 世界中找到很多关于如何使用 TIBCO EMS 的有用信息......任何接受者?谢谢!!
【问题讨论】:
标签: c# tibco tibco-ems auto-close