私は、ログインダイアログを使用して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. 永続的なプロキシ接続を無効にする方法
- 4. J2MEでの永続的なHTTP接続
- 5. ASP.netでドラッグベースの永続Webページを作成する方法
- 6. PHPと永続的接続
- 7. spring-wsクライアントを使用して永続的な接続を作成する
- 8. iOSアプリケーションとRails Webサービスとの永続的な接続
- 9. WCFサービスHttp永続的な接続/セッション
- 10. 私のプロキシサーバーで永続的なHTTP接続をサポートする
- 11. 永続的なperlスクリプトの作成
- 12. opennetcfとの永続的なRAS接続の作成Windows CE 6.0のRas
- 13. 永続的な接続を介してpopenを処理する
- 14. Ajax動的Webページへの永続URLの生成方法
- 15. Webサービス呼び出しの永続接続をオフにする方法
- 16. Javaの異なるデータベースに複数のデータベース接続を作成する方法
- 17. mysql永続接続
- 18. ASP.NET Webアプリケーション/サーバーから接続されたクライアントコンピュータへの永続的なTCP/IPソケット接続を作成することはできますか?
- 19. Oracleデータベースの障害後に永続性ユニットに再接続する方法
- 20. ループバックで永続的なアクセストークンを作成する
- 21. 永続的なアンドロイド・ビューをプログラムで作成する
- 22. C#で永続的なODBC接続を作成することはできますか?
- 23. ESP8266 TCPクライアントでTCP接続を永続的に維持する
- 24. 動的に作成されたデータベースへの接続を管理する方法
- 25. CouchDB/MochiWeb:永続的な接続による悪影響
- 26. Python Webサーバーでデータベース接続を維持する方法
- 27. MongoDBの最適なパフォーマンス - 永続的な接続の数
- 28. 永続的な接続でhttp2リクエストを作成するには? (任意の言語)
- 29. GWTとAndroidクライアント(またはApp Engine)間の永続的な接続
- 30. 永続的な時間ベースのキュー
実際に何かを実行していない限り、データベース接続を開いたままにしないでください。つまり、ログインしてConnectionを開いてユーザーの資格情報を確認した後、もう一度閉じます。これを行う一般的な方法は、DB操作を行うために呼び出すデータアクセスレイヤーを用意することです。そうでなければ、CallingメソッドにConnectionオブジェクトを返し、dbを開く/閉じるという静的関数を設定することをお勧めしますその方法から。 – JaggenSWE