2009-06-02 6 views
0

Ich habe ODP.NET installiert und verwende den Session State Service über Oracle für eine ASP.NET-Website. Ich habe es gründlich getestet und keine größeren Probleme festgestellt. Einige Benutzer beschweren sich über Ausnahmefehler, wenn sie das System verwenden. Ich habe zusätzliche Protokollierung hinzugefügt und herausgefunden, wie das Problem reproduziert werden kann. Es passiert, wenn ein Benutzer auf einen Hyperlink doppelklickt. Ich habe nie über einen Doppelklick auf einen Hyperlink in meinem Leben nachgedacht und wusste nie, dass Benutzer das gerne tun, also hatte ich diese Möglichkeit nicht getestet. Dies sendet zwei identische Anforderungen zum Speichern eines Sitzungselements mit demselben Primärschlüssel. Ich verwende ODP.NET 11.1.0 für das .NET 2.0 Framework, und die aufgerufenen Funktionen wurden von Oracle verschleiert, so dass ich es dort nicht reparieren kann. Hat jemand anderes dieses Problem? Kennt jemand eine Lösung, außer den Benutzern zu sagen, dass Sie nicht auf Hyperlinks doppelklicken.Oracle ODP.NET und Doppelklick auf Hyperlink

Antwort

0

Erstens, das klingt nach etwas, das Oracle ansprechen sollte. Ihr Code sollte dies überprüfen und verhindern.

Möglicherweise müssen Sie Ihre Hyperlink-Handler überprüfen, um die doppelte Übermittlung zu verhindern. Sie könnten eine Dienstprogrammklasse als Wrapper für den Oracle-Sitzungsanbieter mit einigen lock-Anweisungen verwenden, um eine doppelte Übergabe zu verhindern. Ich würde jedoch vorsichtig sein - Sie könnten Leistungsprobleme einführen.