- - PR -
コネクションエラー
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-06-28 11:37
いつもお世話になっております。
C#.NETで開発したWebアプリのテスト中に以下のようなエラーがでました。 「This connection is already open(state=Open)」 これは、DBアクセスをするページで起きているため 使用しているOracleのエラー(もしくはFTP???)かなと思ったのですが、 調べてもわからなかったために質問させていただきました。 再現性は低いのですが、 通常運用では考えられないようなボタンの連打(指がつるくらい)して 再現しました。 エラーはGlobal.aspxで拾ったアプリケーションエラーです。 (エラーをそのまま表示するようにしています) まず、何のエラーなのかを突き止めたいのですが再現性が低いため デバック環境では再現できていません。 このようなエラーを見た方はいらっしゃいますでしょうか。 また、対策(IISの最大接続数など?)方法などありますでしょうか? (コネクションは毎回破棄しています) 以上、よろしくお願いいたします。 | ||||
|
投稿日時: 2004-06-28 12:37
Exception.SourceとException.StackTraceをロギングすれば分かるでしょう。 [ASP.NET]アプリケーション内で発生したエラー情報をロギングするには? http://www.atmarkit.co.jp/fdotnet/dotnettips/168asperrlog/asperrlog.html | ||||
|
投稿日時: 2004-06-28 13:05
お返事ありがとうございます。
ログを出力して解析してみます。 | ||||
|
投稿日時: 2004-06-28 13:08
なんとなくですけど、コネクションの変数を共有したりなんかしてないですよね? | ||||
|
投稿日時: 2004-06-28 13:34
なちゃさんありがとうございます。
なんとなく、あっ!そうかもなっと思いました。 でも、通常はでなくて、負荷テストをすると出るということは どういうことなのでしょうか。。。 調べてみます。 | ||||
|
投稿日時: 2004-06-28 13:52
いや、まあ実際のところは分かりませんが、「負荷をかけるとエラーになる」ということから、「ひょっとして共有している可能性があるかな」という流れです。 何でそう思うかというと、うーん、どういうことが問題になっているような気がするのか、BB.NKさんはなんとなく程度でも把握されていますか? | ||||
|
投稿日時: 2004-06-28 14:00
お返事ありがとうございます。
ええと、開いたコネクションをまた開いたのだろう程度です。 っとソースを見たら怪しい部分が一つありました。 再現させてログを確認しないことにはなんとも言えませんが、 宣言したコネクション変数を開く前に別の関数に渡して、 その関数内で開いて閉じています。 その後、再び戻ってコネクションを開いていました。 きっとここだろうと思います。 開いてから渡してしまうか、別のコネクションを使うかしてみます。 ところで、このように一連の流れでコネクションを何度か開くような場合、 毎回宣言するのでしょうか? それとも同じコネクションを使いまわしたほうがよいのでしょうか? | ||||
1
