2017-11-03 26 views
-1

現在、データベースに接続するための静的クラスを持つASP.NET MVCアプリケーションがあります。いくつかのテストでは、私はいくつかの異なるセッションからアプリケーションを使い始めると、非常に遅くなってきていることに気付きました。セッションが1つしかない場合は、許容される方法で動作しますが、3つのセッションから使い方がうまくいかなくなります。ASP.Net MVCとデータベース接続

Global.asaxのApplication_Startで静的接続が開始されていますが、これはすべての接続が同じ接続で競合しているためです。この与えられた

は、私は同じの動作を変更することを決めたが、私は従うことを考える二つのアプローチがありますが、私は最高のだろうかを知るために意見をしたいと思います:

1)の確立しますセッション接続はGlobal.asaxで開始されましたが、アプリケーションがほぼ同時に実行する特定のアクションのため、このアプローチも一定の時間で遅くなるのではないかと恐れています。

2)データベースへの各クエリアクションの接続を確立し、接続をインスタンス化し、接続を開き、アクションを実行して接続を閉じます。しかし、やはり、いくつかのページをロードするときにアプリケーションが実行するアクションの数が多いため、この方法で接続プールをポップするのは恐ろしいことです。

私を助けることができますか?あなたは、使用できる別のアプローチのビジョンを持っていますか?

現在、私たちはADO.Netを使用していますが、一部のテストでは、ただ1人のユーザーでも巨大な遅さであってもNHibernateで行っています。

私は注意を払う。

+2

質問は英語で行う必要があります。 https://pt.stackoverflow.com/を試すことができます。 –

答えて

1

Entity Frameworkを使用できます。

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

あなたはすでにあなたは>あなたが必要とするよりも、新しい項目を、Visual Studioのをopneモデルフォルダを選択> [追加する必要が作成されたアプリケーション(ASP.NET MVC)とデータベースを持っていると仮定すると、 ADO.NETエンティティデータモデルを選択します。その後、エンティティデータモデルウィザードが表示されます。そのウィンドウから、最初のオプションEf Designer from Databaseを選択します。次へをクリックして、データベース接続パラメータ(dbサーバー、データベース名)を追加し、次へをクリックして使用するデータベース(テーブル、ストアドプロシージャ)のオブジェクトをクリックして、完了をクリックします。

関連する問題