0

C# 言語を使用してサービスを作成しました。正常に動作していますが、データベース セッションに問題があります。ログイン時に一度セッションを作成し、アプリケーションを閉じたり、サービスを停止したりしない限り、同じセッションを維持する必要があります。しかし、私の場合、ログイン時にセッションが作成されますが、プロセス全体で同じセッションが維持されず、新しいセッションが作成されますが、これは発生しないはずです。ログイン時に 1 つのセッションを作成し、アプリケーションが閉じられるまで同じセッションを使用する必要があります。同じデータベース接続に対して新しいセッションを作成し、既に作成されたセッションを使用していない原因は何ですか。イベント i は、データベース接続オブジェクトを慎重に閉じて破棄しました。セッションを作成したくありません。サーバーの速度が低下するため、できるだけ早く返信してください。

4

1 に答える 1

0

なぜそのような制限があるのですか?

そのウェブ以来。この場合、スレッドによって提供される各リクエストは、接続をシングルトンにしたいかもしれませんが、ベストプラクティスは、作業が完了した後に接続を閉じることです。プーリングも役立ちます。

アイデア : 接続プールを有効にし、最大プールサイズを 1 に設定するとどうなるでしょうか。近くに Oracle Db がありません。しかし、試してみる価値があると思います。

このSOの質問をチェックしてください:

接続を静的クラスに格納する (ASP.NET)

ASP.NET Web サイトでは、接続にシングルトンを使用することをお勧めします

複数のメソッド間で単一のデータベース接続を同時に共有する

于 2012-06-21T13:36:33.947 に答える