新しいサイトオブジェクトまたはOpenWebを作成するRWEPのために自動的にそれを行います
-
10-12-2019 - |
質問
sitecol1 \ rootweb上にリストが存在します。USERAにはsitecol1に対する許可がありません。だから私たちはRWEPを使っています。サイトとWeb用に新しいオブジェクトを作成する必要があることを読みます。しかし、フォロー。コードが機能し、using (SPWeb rootWeb = site.OpenWeb())
Automaticalleyが新しいキーワードを呼び出すかどうかを知る必要があります。
またはこの場合はSPWebの新しいオブジェクトを作成する方法は何ですか?
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(SPContext.Current.Site.WebApplication.Sites[0].RootWeb.Url))
{
using (SPWeb rootWeb = site.OpenWeb())
{
//code to fetch data from list present in root web
}
}
});
. 解決
これが機能する理由は、RWEP内に新しいSPSite
オブジェクトを作成しているため、SPWeb
を使用して返されたSPWeb rootWeb = site.OpenWeb()
が正しく上昇したWebを提供します。この問題は、デリゲート内で以前に作成されたSPSite
またはSPWeb
オブジェクトを使用しようとすると発生します。あなたの場合でもSPWeb rootWeb = site.RootWeb
も機能する必要があります。この詳細については、これを参照してください。
所属していません sharepoint.stackexchange