2009-05-20 8 views
0

Als Teil einer MOSS 2007-Lösung habe ich einen Webpart, der einen 'Begriff' des Tages anzeigt. Die Begriffe werden in einer schrecklich unordentlichen XML-Datei gespeichert, so dass alles gut geparst wird und dann eine Eigenschaft namens LastUpdatedOn auf die aktuelle Zeit aktualisiert werden soll.Aktualisieren von WebPart-Eigenschaften mit RunWithElevatedPrivileges in MOSS 2007

Mein Problem ist, dass Konten auf Administratorebene dies ohne Probleme sehen können, aber die Viewer erhalten eine Fehlermeldung, dass sie nicht genügend Berechtigungen zum Speichern der Eigenschaften des Webparts haben.

Ich führe den Code innerhalb eines delegierten Delegaten mit erhöhten Berechtigungen aus und habe einen neuen Kontext instanziiert, um die Tatsache zu umgehen, dass der Kontext immer noch der Meinung ist, dass der aktuelle Benutzer nicht das Systemkonto ist.

Pastebin of full code can be found here

Die Problemlinien sind:

SaveProperties = true; 
LastUpdatedOn = DateTime.Now.ToString(); 

diese heraus bedeutet, dass mein Web-Teil funktioniert Kommentar, aber es wird immer einen zufälligen Begriff auf jeder Seite Last anzuzeigen, anstatt den gleichen Begriff zu halten für 24 Stunden.

Antwort

2

Warum nicht Basis für das heutige Datum und überspringt das Speichern eines Wertes?

Probe:

Random r = new Random(DateTime.Now.DayOfYear + 365 * DateTime.Now.Year); 
r.Next(count); 

Dies gibt Ihnen einen neuen Zufallswert jeden Tag.

Verwandte Themen