ASPX - 在会话中存储 mysqlConnection

本文关键字:存储 mysqlConnection 会话 ASPX | 更新日期: 2023-09-27 18:30:42

我只是想知道有人尝试过这个。 这似乎太疯狂了,我需要为每次调用数据库打开一个 mysql 连接。 有时,一个页面需要对数据库进行 4 次调用中的 3 次,并且需要额外的时间才能打开连接。

如果我创建一个新的会话类并 {get;set}; 我在该类中的连接。 这有什么坏处吗? 从理论上讲,我认为性能会提高。 有人尝试过吗? 有什么大的挫折吗?

ASPX - 在会话中存储 mysqlConnection

MySql 连接器/网络支持连接池,默认情况下启用此功能。

通常,您希望尽快关闭连接以避免用完池,因此将连接的 MySqlConnection 存储在会话中将是一个坏主意。

通过在 global.asax Session_start 方法中设置会话,然后在 Sessions_Stop 方法中关闭会话,可以在不关闭每个调用的情况下管理会话。

不能在会话中存储MySqlConnection。这根本不可能。该类甚至不可序列化,因此如果您使用进程外会话,您的应用程序可能会爆炸并出现异常。

您可以使用全局类或 Global.asax 在应用程序域中存储对连接的引用,但对于池化,无论如何,这是不必要的,您应该允许池化来管理您的连接。