2009-06-02 20 views
0

ODP.NETをインストールしましたが、ASP.NET Webサイト用にOracleを介してセッション状態サービスを使用しています。私はそれをテストしました、私はかなり徹底的に考えて、どんな重大な問題も見ませんでした。しかし、ユーザーの中には、システムを使用しているときに例外エラーが発生しているとの声があります。余分なログを追加し、問題の再現方法を見つけました。これは、ユーザーがハイパーリンクをダブルクリックしたときに発生します。私は人生の前にハイパーリンクをダブルクリックすることについて考えたことは一度もありませんし、ユーザーがそれをやっていることを知らなかったので、私はその可能性をテストしていませんでした。同じ主キーを持つセッション項目を保存する2つの同じ要求を送信します。私は.NET 2.0フレームワークにODP.NET 11.1.0を使用しています。呼び出される関数はOracleによって難読化されているため、そこでは解決できません。誰にもこの問題がありましたか?誰かが、あなたがダブルクリックのハイパーリンクをしていないことをユーザーに伝える以外に、解決策を知っていますか?Oracle ODP.NETおよびダブルクリック・ハイパーリンク

答えて

0

まず、これはOracleが対応すべきもののようです。彼らのコードはこれをチェックし、それを防ぐべきです。

ダブル・サブミッションを防ぐには、ハイパーリンク・ハンドラにチェックを入れる必要があります。ダブル・サブミッションを防ぐために、いくつかのlock文を使用して、Oracleセッション・プロバイダのラッパーとしてユーティリティ・クラスを使用できます。私は注意が必要ですが、パフォーマンス上の問題が生じる可能性があります。

関連する問題