- PR -

コネクションエラー

1
投稿者投稿内容
BB.NK
大ベテラン
会議室デビュー日: 2004/02/05
投稿数: 138
投稿日時: 2004-06-28 11:37
いつもお世話になっております。
C#.NETで開発したWebアプリのテスト中に以下のようなエラーがでました。
「This connection is already open(state=Open)」
これは、DBアクセスをするページで起きているため
使用しているOracleのエラー(もしくはFTP???)かなと思ったのですが、
調べてもわからなかったために質問させていただきました。

再現性は低いのですが、
通常運用では考えられないようなボタンの連打(指がつるくらい)して
再現しました。
エラーはGlobal.aspxで拾ったアプリケーションエラーです。
(エラーをそのまま表示するようにしています)

まず、何のエラーなのかを突き止めたいのですが再現性が低いため
デバック環境では再現できていません。
このようなエラーを見た方はいらっしゃいますでしょうか。
また、対策(IISの最大接続数など?)方法などありますでしょうか?
(コネクションは毎回破棄しています)

以上、よろしくお願いいたします。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-06-28 12:37
引用:

BB.NKさんの書き込み (2004-06-28 11:37) より:
まず、何のエラーなのかを突き止めたいのですが再現性が低いため
デバック環境では再現できていません。



Exception.SourceとException.StackTraceをロギングすれば分かるでしょう。

[ASP.NET]アプリケーション内で発生したエラー情報をロギングするには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/168asperrlog/asperrlog.html
BB.NK
大ベテラン
会議室デビュー日: 2004/02/05
投稿数: 138
投稿日時: 2004-06-28 13:05
お返事ありがとうございます。
ログを出力して解析してみます。
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2004-06-28 13:08
引用:

BB.NKさんの書き込み (2004-06-28 11:37) より:
「This connection is already open(state=Open)」


なんとなくですけど、コネクションの変数を共有したりなんかしてないですよね?
BB.NK
大ベテラン
会議室デビュー日: 2004/02/05
投稿数: 138
投稿日時: 2004-06-28 13:34
なちゃさんありがとうございます。

なんとなく、あっ!そうかもなっと思いました。
でも、通常はでなくて、負荷テストをすると出るということは
どういうことなのでしょうか。。。

調べてみます。

なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2004-06-28 13:52
引用:

BB.NKさんの書き込み (2004-06-28 13:34) より:
でも、通常はでなくて、負荷テストをすると出るということは
どういうことなのでしょうか。。。


いや、まあ実際のところは分かりませんが、「負荷をかけるとエラーになる」ということから、「ひょっとして共有している可能性があるかな」という流れです。

何でそう思うかというと、うーん、どういうことが問題になっているような気がするのか、BB.NKさんはなんとなく程度でも把握されていますか?
BB.NK
大ベテラン
会議室デビュー日: 2004/02/05
投稿数: 138
投稿日時: 2004-06-28 14:00
お返事ありがとうございます。

ええと、開いたコネクションをまた開いたのだろう程度です。
っとソースを見たら怪しい部分が一つありました。

再現させてログを確認しないことにはなんとも言えませんが、
宣言したコネクション変数を開く前に別の関数に渡して、
その関数内で開いて閉じています。
その後、再び戻ってコネクションを開いていました。
きっとここだろうと思います。
開いてから渡してしまうか、別のコネクションを使うかしてみます。

ところで、このように一連の流れでコネクションを何度か開くような場合、
毎回宣言するのでしょうか?
それとも同じコネクションを使いまわしたほうがよいのでしょうか?
1

スキルアップ/キャリアアップ(JOB@IT)