ASPX - 在Session中存储MysqlConnection

时间:2013-09-07 22:05:46

标签: c# mysql asp.net

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

如果我创建一个新的Session类并且{get; set};我在那堂课上的联系。这有什么害处吗?从理论上讲,我认为性能会提高。有人试过吗?是否有任何重大挫折?

3 个答案:

答案 0 :(得分:0)

MySql Connector / Net支持连接池,这由default启用。

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

答案 1 :(得分:0)

您可以通过在global.asax Session_start方法中设置然后在Sessions_Stop方法中关闭它来管理会话而不关闭每个调用。

答案 2 :(得分:0)

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

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