【问题标题】:ASP.Net MVC and Database Connections [closed]ASP.Net MVC 和数据库连接
【发布时间】:2017-11-03 17:40:30
【问题描述】:

我目前有一个 ASP.NET MVC 应用程序,它有一个静态类来连接到数据库。在一些测试中,我注意到当我从几个不同的会话开始使用应用程序时,它变得非常缓慢。如果我只有一个会话,它以可接受的方式工作,但从 3 个会话开始,使用开始变得不可行。

静态连接是在 Global.asax 的 Application_Start 开始的,我相信这个慢是因为它们都在竞争同一个连接,对吧?

鉴于此,我决定更改相同的操作,但我认为有两种方法可以遵循,但我想知道哪种方法最好:

1)在 Global.asax 中开始建立会话连接,但是我担心由于应用程序几乎同时执行某些操作,这种方法在给定时间也很慢。

2) 为每个查询操作建立到数据库的连接,实例化连接,打开连接,执行操作和关闭连接。但同样,由于应用程序在加载某些页面时会执行大量操作,我担心以这种方式工作会弹出连接池。

你能帮帮我吗?您对可以使用的另一种方法有远见吗?

目前,我们正在使用 ADO.Net,并且在一些测试中,我们使用 NHibernate 进行了测试,即使只有一个用户,速度也非常慢。

感谢大家的关注。 (翻译后的帖子)

【问题讨论】:

标签: asp.net sql-server model-view-controller


【解决方案1】:

您可以尝试使用实体框架。

http://www.entityframeworktutorial.net/what-is-entityframework.aspx

https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-application

假设您已经创建了应用程序(ASP.NET MVC)和数据库,您需要打开 Visual Studio,选择模型文件夹>添加>新建项目,而不是选择 ADO.NET 实体数据模型。之后,您将看到实体数据模型向导。从该窗口中选择第一个选项,Ef Designer from Database。单击下一步,添加数据库连接参数(数据库服务器,数据库名称),单击下一步,您要使用的数据库中的对象(表,存储过程),然后单击完成

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 2011-09-22
    相关资源
    最近更新 更多