使用MOSS 2007中的RunWithElevatedPrivileges更新WebPart属性

时间:2009-05-20 14:49:35

标签: c# sharepoint

作为MOSS 2007解决方案的一部分,我有一个显示当天“术语”的Web部件。这些术语存储在一个非常混乱的XML文件中,因此它可以很好地解析,然后应该将名为LastUpdatedOn的属性更新为当前时间。

我的问题是管理员级帐户可以看到这一点没有任何问题,但是查看者收到错误,指出他们没有足够的权限来保存Web部件的属性。

我在提升的权限委托中运行代码,并已实例化新的上下文以解决上下文仍然认为当前用户不是系统帐户的事实。

Pastebin of full code can be found here

问题在于:

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

评论这些意味着我的网页部分有效,但它会在每次加载页面时显示一个随机字词,而不是在24小时内保持相同的字词。

1 个答案:

答案 0 :(得分:2)

为什么不在今天的日期根据您的种子并跳过保存值?

样品:

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

这将每天为您提供一个新的随机值。