2009-07-08 6 views
2

Wenn ich mehrere Prozesse habe, die tausende Male pro Sekunde auf einen Registrierungswert zugreifen, gibt es signifikante Auswirkungen auf die Leistung beim Lesen dieses Registrierungswerts?Welche Auswirkungen hat der Zugriff auf einen Windows-Registrierungswert?

Der Wert des Registrierungswerts wird sich niemals ändern, er wird nur gelesen. Ich denke, eine andere Frage ist, dass das Lesen des Registrierungswerts eine blockierende Operation ist?

Der Registrierungswert dient zum Speichern von Datenbankverbindungsdetails, auf die von ASP.NET-Anwendungen, Win Forms-Anwendungen und WCF-Diensten zugegriffen wird.

Danke,

Stuart

Antwort

2

Die Registrierung ist schnell, wirklich schnell. Aber tausende Male pro Sekunde? Speichern Sie den Wert in jeder Anwendung zumindest zwischen, sodass Sie ihn nur einmal beim Start der App lesen müssen.

+0

Nach dem ersten Zugriff speichert die Windows-Registrierung den Wert bereits für Sie, oder? Sie sollten den Wert lokal nur für Lokalisierungsvorteile speichern, es sei denn, Sie erwarten, dass der Wert sich dreht. –

+0

Ja, häufig verwendete Werte werden wahrscheinlich vom Registrierungsmanager zwischengespeichert. Bei jedem Aufruf wird jedoch wahrscheinlich ein Kontextwechsel ausgelöst, so dass es immer noch besser ist, lokal zwischenzuspeichern. –

+0

Vielen Dank für Ihre Antwort, es hat mich auf den Weg gebracht. Prost. – Simian

0

Windows-Registrierung ist nur eine Datei, die um sie herum mehr Schutz als andere Dateien hat.

Wie bei jeder Datei wird jedoch ein Leistungseinbruch beim Zugriff erzielt.

Ich würde vorschlagen, dass Sie Ihre Werte beim Start der Anwendung einmal lesen und im Speicher ablegen und sie bei Bedarf an Ihre Objekte übergeben.

Verwandte Themen