سؤال

أتمنى أن يساعدني أحد.أحتاج إلى الحصول على الويب الجذري للموقع الحالي من SPContext.يمكن القيام بذلك بسهولة مع ما يلي Genacodicetagpre

أنا مرتاح لفكرة أن كائن SPSite هنا في SPContext.Current. Site .RootWeb لا يجب التخلص منه ، ولكن ماذا عن كائن SPWeb الذي أحصل عليه من SPSite.هل ، عندما يتم التخلص من SPSite ، سيتم التخلص من SPWeb الخاص بجذر Web؟أم أحتاج إلى التخلص منه بنفسي؟

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

المحلول

يجب عدم التخلص من المكالمات إلى SPSite.RootWeb.سيؤدي التخلص من SPSite أيضًا إلى التخلص من RootWeb.

هناك خطأ في SPDisposeCheck حيث يتم وضع علامة عليه إذا تخلصت منه ، وإذا لم تقم بذلك (ملعون في كلتا الحالتين!) فسألت كيف حللت هذا في منشور المدونة هذا ، حيث لا يمكنك استخدام سمة SPDisposeCheckIgnore في كتل الامتيازات المرتفعة.

نصائح أخرى

لا لا يجب عليك.يجب عليك فقط التخلص من الأشياء التي تتحكم فيها.نظرًا لأن السياق هو شيء تم إنشاؤه بواسطة SharePoint ، فلا يمكنك التخلص منه لأن الكائنات الأخرى قد تعتمد عليه.

إذا كنت ستنشئ مثيلاً خاصًا بك من SPWeb من خصائص هذه الكائنات ، فستحتاج إلى التخلص منه.أي .. Genacodicetagpre

فيما يلي مقال عن أفضل الممارسات للتخلص من كائنات SharePoint.

http://msdn.microsoft.com/en-us/library/aa973248(v=office.12).aspx

يجب عادة استخدام SPSite و SPWeb في عبارة مستخدمة. Genacodicetagpre

سيؤدي هذا تلقائيًا إلى تحرير كائن SPWeb بشكل صحيح بعد الانتهاء منه.

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