C# 会话中存储的Informix连接

C# 会话中存储的Informix连接,c#,session,asp.net-mvc-5,informix,idisposable,C#,Session,Asp.net Mvc 5,Informix,Idisposable,你好 我正在开发一个web应用程序,用IBMInformixClient SDK for.NET访问一个古老的Informix7.31.UC4数据库。该系统当前构建为每个用户都必须使用自己的DBMS凭据(而不是身份凭据)进行连接,这意味着我必须 a) 在每次请求时使用不同的凭据进行连接,这会降低速度(创建、打开和关闭连接的时间超过5秒,更不用说查询本身了) 或者b)以某种方式按用户名在字典中存储连接,并利用它们的池,避免同一用户在不同会话中出现多个连接 或c)为每个会话存储一个连接 第一种方法速

你好

我正在开发一个web应用程序,用IBMInformixClient SDK for.NET访问一个古老的Informix7.31.UC4数据库。该系统当前构建为每个用户都必须使用自己的DBMS凭据(而不是身份凭据)进行连接,这意味着我必须

a) 在每次请求时使用不同的凭据进行连接,这会降低速度(创建、打开和关闭连接的时间超过5秒,更不用说查询本身了)

或者b)以某种方式按用户名在字典中存储连接,并利用它们的池,避免同一用户在不同会话中出现多个连接

或c)为每个会话存储一个连接

第一种方法速度低,无法接受。第二种和第三种方法无法处理IfxConnection:IDisposable,这让我哭了

会话放弃或结束时,我是否缺少处理会话中存储的对象的方法?在有多组凭据的情况下,有没有办法利用连接池?或者仅仅是这个系统一开始设计得很糟糕,我不应该在意

我目前看到的唯一方法是创建一个具有足够权限的Informix用户,并与池保持一个连接,使用另一个SQLServer数据库存储用户和角色,同时在控制器级别管理所有权限和角色,但数据库设计者不会听我说


另外,我在会议中看到了一些关于一次性物品的问题,都说它不好,但我看不到其他选择。

升级数据库,就像12.10版Innovator-C版(免费)一样是不可能的?(关于ceinmart的更多信息,不幸的是没有这样的选项。