2009-08-27 75 views

回答

13

RunWithElevatedPrivileges仅在当前线程正在使用模拟(即IIS)时有效。在其他代码(计时器作业,控制台应用程序,工作流等)中使用它将不起作用。 Colin是正确的,默认情况下,计时器服务作为在“配置向导”中指定的服务器场服务帐户运行。您可以在Windows服务中验证这一点。

+0

我不能说定时器工作或工作流程,或技术上控制台应用程序,但我正在开发一个winforms应用程序 - 应该有一个基本相同的执行上下文作为控制台应用程序(启动应用程序的用户) - 和如果没有RunWithElevatedPrivileges委托,它不能做某些事情,然后当然会在新的提升上下文中获得新的SPSite。你有一个信息来源显示了这不是必要的吗? – 2016-02-17 17:50:14

+0

要确认,您使用的是SharePoint 3.0/2007?尝试检查RWEP中的'Environment.Username'是否真的有变化。 (请参阅http://solutionizing.net/2009/01/06/elegant-spsite-elevation/#comment-192以及相关讨论的回复。) – dahlbyk 2016-02-18 03:58:24

+0

不可用 - SharePoint 2013 - 具有RunWithElevatedPrivileges()功能可能因为改变?或者在更新版本的SP中以某种方式略有不同? – 2016-02-24 18:05:05

5

它们在第一次运行SharePoint产品和技术配置向导以连接到SQl时运行的帐户下运行,并运行下面的中央管理应用程序池。即SharePoint中的上帝帐户。

相关问题