إنشاء كائن موقع جديد أو أوبنويب يفعل ذلك تلقائيا لروب

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/96208

  •  10-12-2019
  •  | 
  •  

سؤال

هناك قائمة موجودة على سيتيكول 1 \ روت ويب.ليس لدى أوسيرا إذن على سيتيكول 1.لذلك نحن نستخدم رويب.نقرأ أننا بحاجة إلى إنشاء كائنات جديدة للموقع والويب.ومع ذلك, فول.يعمل الكود ، أحتاج إلى معرفة ما إذا كان using (SPWeb rootWeb = site.OpenWeb()) أوتوماتيكالي يدعو الكلمة الجديدة.

أو ما هي الطريقة لإنشاء كائن جديد من سبويب في هذه الحالة?

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
                        }

                    }
                });
هل كانت مفيدة؟

المحلول

السبب في أن هذا يعمل هو أنك قمت بالفعل بإنشاء جديد SPSite كائن داخل رويب وبالتالي SPWeb عاد باستخدام SPWeb rootWeb = site.OpenWeb() يعطي بشكل صحيح على شبكة الإنترنت مرتفعة.تحدث المشكلة إذا حاولت استخدام تم إنشاؤه مسبقا SPSite أو SPWeb كائنات داخل المندوب.لاحظ أنه في حالتك حتى SPWeb rootWeb = site.RootWeb يجب أن تعمل أيضا.انظر هذا لمزيد من المعلومات: http://blogs.technet.com/b/sharepointdevelopersupport/archive/2013/03/13/using-spsite-and-spweb-objects-with-runwithelevatedprivileges-don-t-cross-the-borders.aspx

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top