سؤال

لدي طريقة في بلدي أسبكس.ملف كس الذي يجب التأكد من أن المستخدم الحالي متابعة الموقع الحالي.عندما أتحقق من أولس أتلقى هذا:

يتبع المحتوى.اتبع البند: استثناء: مايكروسوفت.شير.سبكسيبتيون:التحقق من صحة الأمان لهذه الصفحة غير صالح.انقر مرة أخرى في الخاص بك متصفح الويب ، قم بتحديث الصفحة ، وحاول العملية مرة أخرى.---> النظام.وقت التشغيل.الخدمات البينية.كومكسيبتيون:التحقق من الأمن لهذه الصفحة غير صالحة.انقر مرة أخرى في متصفح الويب الخاص بك ، قم بتحديث الصفحة ، ومحاولة العملية الخاصة بك مجددا.0 * 8102006 د

لا يمكن اتباع عنوان ورل http://removedlink/

و

مايكروسوفت.مكتب.الخادم.الاجتماعية.مدير المتابعة الاجتماعية.اتبع:مايكروسوفت.مكتب.الخادم.ملفات تعريف المستخدم.يتبع المحتوى:خطأ داخلي :تعذر متابعة العنصر س في مايكروسوفت.مكتب.الخادم.ملفات تعريف المستخدم.يتبع المحتوى.تابعالبند (تابعالبند البند ، منطقي داخلي)

رمز بلدي يبدو مثل هذا:

 protected void ToggleUserFollowSite(object sender, EventArgs e)
        {

                var spWeb = SPContext.Current.Web;
                var currentsite = SPContext.Current.Site;
                var currentUser = spWeb.CurrentUser.LoginName;
                SPSecurity.RunWithElevatedPrivileges(delegate
                    {
                        using (var site = new SPSite(spWeb.Site.ID))
                        {
                            using (var web = site.OpenWeb(spWeb.ID))
                            {


                                SPServiceContext context = SPServiceContext.GetContext(currentsite);                                                                      
                                var profile = new UserProfileManager(context);                                    
                                var user = profile.GetUserProfile(currentUser);                                   
                                var followingManager = new SPSocialFollowingManager(user, context);                                    
                                var actorInfo = new SPSocialActorInfo();
                                actorInfo.ActorType = SPSocialActorType.Site;
                                actorInfo.ContentUri = new Uri(web.Url);
                                followingManager.Follow(actorInfo);

                            }
                        }
                    });
            }

عندما أقوم بتصحيح هذا ، هذا هو الاستثناء الذي أحصل عليه .اتبع () طريقة:

{"فشلت العملية بسبب حدوث خطأ داخلي.الداخلية نوع الاسم:مايكروسوفت.مكتب.الخادم.ملفات تعريف المستخدم.اتبع كونتنتكسيبتيون.رمز الخطأ الداخلي:11."}

أي نوع من المساعدة هو موضع تقدير

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

المحلول

أولا ، يجب عليك فقط استخدام مثيلات سبسيت وسبويب التي تم إنشاؤها حديثا داخل وفد رونيثليفاتدبريفيليجيس.قم بتغيير السطر التالي في التعليمات البرمجية الخاصة بك

SPServiceContext context = SPServiceContext.GetContext(currentsite);

إلى هذا واحد:

SPServiceContext context = SPServiceContext.GetContext(site);

مشكلة أخرى هي التحقق من صحة الأمان على الصفحة ، وتحتاج إلى الاتصال التحقق من صحة الشكل طريقة قبل تنفيذ الارتفاع منذ التعليمات البرمجية ينفذ عملية الكتابة.لذا أضف السطر التالي قبل سبكوريتي.رونيثليفاتدبريفيليجيس في التعليمات البرمجية الخاصة بك:

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