0

我使用 c# 语言创建了服务,它工作正常,但数据库会话存在问题。登录时应创建一次会话,并应保持相同的会话,直到应用程序未关闭或服务未停止。但在我的情况下,在登录时创建了一个会话,但在整个过程中没有维护相同的会话,正在创建新的会话,这不应该发生。它应该在登录时创建一个会话,并且应该使用同一个会话,直到应用程序没有关闭。它为同一数据库连接创建新会话而不使用已创建的会话的原因可能是什么。事件我已经关闭并仔细处理了数据库连接对象。我不希望创建会话。尽快回复,因为它减慢了服务器。

4

1 回答 1

0

为什么会有这样的限制?

自从它的网站; 在这种情况下,每个请求都由一个线程提供服务,您可能希望将连接设为单例,但最佳做法是:完成工作后关闭连接。并且汇集也会有帮助。

一个想法:如果启用连接池并将 max poolsize 设置为 1 会怎样。我附近没有任何 Oracle Db。但我想值得一试。

看看这个 SO 问题:

将连接存储在静态类 (ASP.NET)

在 ASP.NET 网站中使用单例进行连接是个好主意

同时在多个方法之间共享单个数据库连接

于 2012-06-21T13:36:33.947 回答