私は大規模なWebサイトを開発しています.SQLプロファイラでlinqクエリをチェックしていたとき、約30回のログイン/ログアウト操作があることがわかりました。私は、すべてのDataContextに対してオープンな接続を使用してこれらのアクションを減らしたいと思いますが、どのように行うのかわかりません。提案はありますか?すべてのLinq DataContextに開かれた接続を使用
0
A
答えて
0
これは非常に悪い考えです。大規模なスケーラブルなWebサイトを作成しているため、Linq-to-SQLは接続自体を処理します。
Linq-to-SQLは、内部で接続の開始と解放を効果的に処理します。接続が正しく再利用され、単一のコンテキストごとに開かれないように、デフォルトのADO.NET接続プーリングを使用します。
すべてのコンテキストで単一接続を使用するのは、アプリケーションを拡張性がなく動作しないものにすることです。単一の接続では1つのトランザクションのみが許可されるため、2つの要求が同時に変更を行い、独自のトランザクションを使用すると、アプリケーションがクラッシュします。
コンテキストを共有せず、接続を共有しない - ADO.NETで接続プーリングを処理し、すべての単一の要求に対して新しいコンテキストを作成するか、深刻な問題が予想されます。
関連する問題
- 1. LINQ to SQL DataContext接続エラーの報告
- 2. App.configからの接続文字列の取得とLinqのdataContextでの使用
- 3. LINQからSQLへの複数のデータベース接続DataContext
- 4. LINQ to SQL DataContextを使用して2つの接続文字列を簡単に変更できますか?
- 5. DataContextで手動で接続を開いたときのパターン
- 6. 私はDataContextを使用する場合、データベースへの接続が開始されますか?
- 7. LINQを使用して複数のデータベースに接続する
- 8. 設定方法Webアプリケーションのweb.configで接続文字列を使用するLinq DataContext(Class Lib Proj)
- 9. Linq DataContextのベストプラクティス
- 10. gitへの接続に使用された公開sshキー
- 11. LINQ to SQLはDataContextの後にクエリを使用します。
- 12. DataContextにモデルを接続してデータベースを更新する方法
- 13. Linq DataContext問題
- 14. webcocket接続されたクライアントを使用してmemcachedに接続する
- 15. linq datacontextアタッチシナリオのGetModifiedMembers
- 16. オブジェクトへのlinqの接続またはランタイム中にLINQKITを使用したクエリ
- 17. すべての着信接続に(Bluemix)コンテナを開ける
- 18. DataContextはいつDBに接続しますか?
- 19. すべての接続されたデバイスをWi-Fiに表示
- 20. 接続されたすべてのWebソケットクライアントにメッセージを送信
- 21. アクセスが破棄されましたlinqからSQLへのDataContext
- 22. LINQを使用してSQL接続リークを取得できますか?
- 23. DataContextを使用したデータバインディング
- 24. Datacontextを使用したInvalidOperationException
- 25. ステートメントを使用して接続が開かない
- 26. ExpressJSを使用してサーバーに接続されたハードウェアのリアルタイムステータス
- 27. 接続されているすべてのクライアントに公開 - Meteor Serverクラッシュ
- 28. PDO接続を使ってすべての接続を返す方法
- 29. jdbcプログラムを使用してOffice odbファイルを開くに接続
- 30. LINQのツーSQLのDataContextは
ありがとう、私はそれをやるでしょう。 – Alireza
@ LadislavMrnka - あなたの答えから、DataContextインスタンスを作成しても、データベースへの新しい接続が作成されたというわけではないことがわかります。それを確認していただけますか?私が読んだところは、そうでないところを示すようです。 linq-to-sqlの場合、データベース接続がどのように作成され、リリースされるかについてのリンクを提供してください。 – Brian
@Brian:linq-to-sqlについてではなく、SQLサーバーに接続するときにデフォルトで使用される接続プーリングについてです。あなたは、ネットワーク接続の再利用(DataContextがデータを取得または保持する必要があるたびに毎回開くのではなく)のように考えることができます。 –