2009-08-27 15 views

risposta

13

RunWithElevatedPrivileges funziona solo se il thread corrente utilizza la rappresentazione, ad esempio IIS. Utilizzato in altri codici (processi timer, applicazioni console, flusso di lavoro, ecc.) Non avrà alcun effetto. Colin è corretto che, per impostazione predefinita, il servizio timer viene eseguito come account del servizio di farm specificato in COnfiguration Wizard. È possibile verificare questo in Windows Services.

+0

Non posso parlare per i lavori timer o il flusso di lavoro, o tecnicamente le applicazioni console, ma sto sviluppando un'applicazione winforms - che dovrebbe avere fondamentalmente lo stesso contesto di esecuzione di un'app console (l'utente che avvia l'applicazione) - e non può fare certe cose senza un delegato RunWithElevatedPrivileges e, ovviamente, ottenere un nuovo SPSite nel nuovo contesto elevato. Hai una fonte che mostra come non è necessario? –

+0

Per confermare, stai usando SharePoint 3.0/2007? Prova a controllare 'Environment.Username' dentro e fuori RWEP per vedere se c'è davvero un cambiamento. (Vedere http://solutionizing.net/2009/01/06/elegant-spsite-elevation/#comment-192 e le risposte per la discussione correlata.) – dahlbyk

+0

No: SharePoint 2013: la funzionalità di RunWithElevatedPrivileges() è stata modificata da allora? o è leggermente diverso in qualche altro modo nelle versioni più recenti di SP? –

5

Vengono eseguiti con l'account utilizzato durante l'esecuzione della Configurazione guidata Prodotti e tecnologie SharePoint per la prima volta per connettersi a SQl/eseguire il pool di app di Amministrazione centrale in. cioè l'account God in SharePoint.