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