私は、ログインダイアログを使用してASP.NET Webフォームを使用してアプリケーションを作成しています。成功した認証の後、接続は開かれますが、接続オブジェクトは他のWebフォームからは見えません。永続的でアクセス可能にする方法はありますか(または一部のサーバーセッションオブジェクトで)、それは一般的に別の方法で行われていますか?任意のヒントをいただきました。Webフォーム間で永続的なデータベース接続を作成する方法
答えて
最善の方法は、使用したい場所で接続を開いたり閉じたりすることです。共有したり、マルチスレッド環境であるASP.NETで静的な接続を使用したりしないでください。 IDisposable
を実装するすべてのオブジェクトにusing
ステートメントを使用すると、すべてのアンマネージリソースが確実に破棄されます。これはまたしてもエラーには、接続を閉じます。
using(var con = new SqlConnection("connection string here"))
{
// do something ...
}
あなたは物理的な接続は/クローズ毎回開かなければならないことを恐れてする必要はありません。 .NET connection poolがそれを処理します。 Related
私はあなたの点を礼賛する、ありがとう –
あなたの質問に答えられたら、答えの一つを受け入れることを検討してください。最も役立つもの。 –
単純な例です。
DbConnectionProvider.cs
using System.Data.SqlClient
public class DbConnectionProvider
{
public static SqlConnection GetDbConnection()
{
return new SqlConnection("MyConnectionString");
}
}
を次にデータベース
を使用するために必要なすべてのクラスから:SqlConnectionオブジェクト(または使用しているものは何でもDB)を処理するクラスを設定し
ApplicationClass.cs
using System.Data.SqlClient
public class ApplicationClass
{
private void GetSomeDbWorkDone()
{
using(SqlConnection Conn = DbConnectionProvider.GetDbConnection())
{
//Do some fancy database operations here
}
}
}
このように、Connectionの詳細を変更する必要がある場合や、SqlConnectionオブジェクトに関して何か他の操作を行う必要がある場合は、コード内のすべてではなく一度だけ行う必要があります。
そのクラスのメリットは何ですか?ただ、不必要なレイヤーが導入されるだけです。接続を静的にすることが賢明だと誰かが考えた場合、これは消滅の原因となります。 –
- 1. 永続的接続を作成する
- 2. 永続的なTCP接続の作成/シミュレート方法は?
- 3. データベース接続でumbracoでフォームを作成する方法は?
- 4. Python:Tornadoと永続的データベース接続
- 5. 永続的なプロキシ接続を無効にする方法
- 6. Microsoft Access - バックエンドとフロントエンドの間のリンクデータベースへの永続的な接続を作成する方法?
- 7. J2MEでの永続的なHTTP接続
- 8. GO言語で永続的なcassandra接続を作成するには?
- 9. ASP.netでドラッグベースの永続Webページを作成する方法
- 10. Symfony、永続的なフラッシュメッセージを作成する方法
- 11. PHPと永続的接続
- 12. spring-wsクライアントを使用して永続的な接続を作成する
- 13. iOSアプリケーションとRails Webサービスとの永続的な接続
- 14. 永続的なFirebaseデータベース
- 15. PHPと永続的なHTTP接続
- 16. Android - PHP - MySQLの永続的な接続
- 17. タイマーベースのファイル永続的な接続
- 18. Node.js - 永続的な接続アダプター
- 19. WCFサービスHttp永続的な接続/セッション
- 20. ActiveMQプロデューサ間欠的な接続と永続性
- 21. 外部データベースとEC2-Serverの間を永続的に安全に接続する方法は?
- 22. laravelキューワーカーでの永続的接続
- 23. jabc:mysqlのmariadbで永続的な接続を無効にする
- 24. 私のプロキシサーバーで永続的なHTTP接続をサポートする
- 25. 永続ストアで2つの永続ストアコーディネータを作成する方法
- 26. 永続的なperlスクリプトの作成
- 27. ライブブロードキャストを永続的に作成する方法は?
- 28. Golangサーバで永続的なtcp接続を受け入れる
- 29. Ajax動的Webページへの永続URLの生成方法
- 30. opennetcfとの永続的なRAS接続の作成Windows CE 6.0のRas
実際に何かを実行していない限り、データベース接続を開いたままにしないでください。つまり、ログインしてConnectionを開いてユーザーの資格情報を確認した後、もう一度閉じます。これを行う一般的な方法は、DB操作を行うために呼び出すデータアクセスレイヤーを用意することです。そうでなければ、CallingメソッドにConnectionオブジェクトを返し、dbを開く/閉じるという静的関数を設定することをお勧めしますその方法から。 – JaggenSWE