برمجيا اتبع موقع ، ولكن تلقي خطأ
سؤال
لدي طريقة في بلدي أسبكس.ملف كس الذي يجب التأكد من أن المستخدم الحالي متابعة الموقع الحالي.عندما أتحقق من أولس أتلقى هذا:
يتبع المحتوى.اتبع البند: استثناء: مايكروسوفت.شير.سبكسيبتيون:التحقق من صحة الأمان لهذه الصفحة غير صالح.انقر مرة أخرى في الخاص بك متصفح الويب ، قم بتحديث الصفحة ، وحاول العملية مرة أخرى.---> النظام.وقت التشغيل.الخدمات البينية.كومكسيبتيون:التحقق من الأمن لهذه الصفحة غير صالحة.انقر مرة أخرى في متصفح الويب الخاص بك ، قم بتحديث الصفحة ، ومحاولة العملية الخاصة بك مجددا.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();