2009-05-20 8 views
0

Dans le cadre d'une solution MOSS 2007, j'ai une partie Web qui affiche un « terme » de la journée. Les termes sont stockés dans un fichier XML horriblement désordonné, donc tout est bien analysé et est censé mettre à jour une propriété appelée LastUpdatedOn à l'heure actuelle. Mon problème est que les comptes de niveau administrateur peuvent voir cela sans aucun problème, mais les spectateurs reçoivent une erreur indiquant qu'ils ont des privilèges insuffisants pour enregistrer les propriétés du composant WebPart. Je cours le code dans un délégué de privilèges élevés, et ai instancié un nouveau contexte pour contourner le fait que le contexte pense toujours que l'utilisateur actuel n'est pas le compte de système.Propriétés WebPart Mise à jour à l'aide RunWithElevatedPrivileges MOSS 2007

Pastebin of full code can be found here

Les lignes problématiques sont:

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

Commentant ces moyens de détourage que mes œuvres de partie Web, mais il affichera toujours un terme aléatoire sur chaque chargement de page au lieu de garder le même terme pour 24 heures.

Répondre

2

Pourquoi ne pas baser vos semences sur la date d'aujourd'hui et sauter l'enregistrement d'une valeur?

Exemple:

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

Cela vous donnera une nouvelle valeur aléatoire chaque jour.

Questions connexes