我只是想知道是否有人试过这个。我需要为每次调用数据库打开一个mysql Connection,这似乎太疯狂了。有时,页面需要4次调用数据库中的3次,并且需要额外的时间来打开连接。
如果我创建一个新的Session类并且{get; set};我在那堂课上的联系。这有什么害处吗?从理论上讲,我认为性能会提高。有人试过吗?是否有任何重大挫折?
答案 0 :(得分:0)
MySql Connector / Net支持连接池,这由default启用。
通常,您希望尽快关闭连接以避免耗尽池,因此将连接的MySqlConnection存储在会话中将是一个坏主意。
答案 1 :(得分:0)
您可以通过在global.asax Session_start方法中设置然后在Sessions_Stop方法中关闭它来管理会话而不关闭每个调用。
答案 2 :(得分:0)
您无法在会话中存储MySqlConnection
。这根本不可能。该类甚至不可序列化,因此如果您使用了进程外会话,您的应用程序可能会因异常而爆炸。
您可以通过使用全局类或Global.asax存储对应用程序域中的连接的引用,但无论如何,这应该是不必要的,您应该允许池来管理您的连接。