C# 在MOSS 2007中使用RunWithElevatedPrivileges更新Web部件属性
作为MOSS 2007解决方案的一部分,我有一个web部件,显示当天的“术语”。这些术语存储在一个非常混乱的XML文件中,因此所有这些术语都被很好地解析,然后应该将名为LastUpdateOn的属性更新到当前时间 我的问题是管理员级别的帐户可以毫无问题地看到这一点,但是查看者会收到一个错误,指出他们没有足够的权限保存web部件的属性 我在提升的特权委托中运行代码,并实例化了一个新的上下文,以避免上下文仍然认为当前用户不是系统帐户这一事实 问题是:C# 在MOSS 2007中使用RunWithElevatedPrivileges更新Web部件属性,c#,sharepoint,C#,Sharepoint,作为MOSS 2007解决方案的一部分,我有一个web部件,显示当天的“术语”。这些术语存储在一个非常混乱的XML文件中,因此所有这些术语都被很好地解析,然后应该将名为LastUpdateOn的属性更新到当前时间 我的问题是管理员级别的帐户可以毫无问题地看到这一点,但是查看者会收到一个错误,指出他们没有足够的权限保存web部件的属性 我在提升的特权委托中运行代码,并实例化了一个新的上下文,以避免上下文仍然认为当前用户不是系统帐户这一事实 问题是: SaveProperties = true;
SaveProperties = true;
LastUpdatedOn = DateTime.Now.ToString();
注释这些内容意味着我的web部件可以正常工作,但它在每次加载页面时都会显示一个随机项,而不是将同一项保留24小时。为什么不将种子基于今天的日期并跳过保存值 样本:
Random r = new Random(DateTime.Now.DayOfYear + 365 * DateTime.Now.Year);
r.Next(count);
这将每天为您提供一个新的随机值