【发布时间】:2017-11-03 17:40:30
【问题描述】:
我目前有一个 ASP.NET MVC 应用程序,它有一个静态类来连接到数据库。在一些测试中,我注意到当我从几个不同的会话开始使用应用程序时,它变得非常缓慢。如果我只有一个会话,它以可接受的方式工作,但从 3 个会话开始,使用开始变得不可行。
静态连接是在 Global.asax 的 Application_Start 开始的,我相信这个慢是因为它们都在竞争同一个连接,对吧?
鉴于此,我决定更改相同的操作,但我认为有两种方法可以遵循,但我想知道哪种方法最好:
1)在 Global.asax 中开始建立会话连接,但是我担心由于应用程序几乎同时执行某些操作,这种方法在给定时间也很慢。
2) 为每个查询操作建立到数据库的连接,实例化连接,打开连接,执行操作和关闭连接。但同样,由于应用程序在加载某些页面时会执行大量操作,我担心以这种方式工作会弹出连接池。
你能帮帮我吗?您对可以使用的另一种方法有远见吗?
目前,我们正在使用 ADO.Net,并且在一些测试中,我们使用 NHibernate 进行了测试,即使只有一个用户,速度也非常慢。
感谢大家的关注。 (翻译后的帖子)
【问题讨论】:
-
问题应该是英文的。你可以试试pt.stackoverflow.com
标签: asp.net sql-server model-view-controller