I 2010 사용자 프로필은 SharePoint를 업데이트하려고 내가이 오류가 계속에 PropertyNotEditableException을 던졌습니다). 우리는 프로필 동기화 서비스를 사용하므로 가치가 결국에는 전파되지만 SP 프로필을 동시에 업데이트하여 변경 사항을 즉시 보여주고 싶습니다.업데이트 사용자 프로필은 SharePoint 2010의
코드 : 나는 주위를 검색하고 다른 일을 시도했습니다 같은 것들의
using (System.Web.Hosting.HostingEnvironment.Impersonate())
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
Response.Write(System.Security.Principal.WindowsIdentity.GetCurrent().Name);
using (var site = new SPSite(SPContext.Current.Site.ID))
{
try
{
SPServiceContext sc = SPServiceContext.GetContext(site);
UserProfileManager userProfileMangager = new UserProfileManager(sc);
SPUser user = site.RootWeb.EnsureUser(loginName);
UserProfile profile = userProfileMangager.GetUserProfile(loginName);
try
{
profile["WorkEmail"].Value = tbEmail.Text;
profile["WorkPhone"].Value = tbPhone.Text;
profile["company"].Value = tbCompany.Text;
profile.Commit();
}
catch (Exception ex)
{
lblMesssage.Text = ex.ToString() + "<br/>";
lblMesssage.Visible = true;
}
}
catch (Exception ex)
{
lblMesssage.Text = ex.ToString();
lblMesssage.Visible = true;
}
}
});
panComplete.Visible = true;
panForm.Visible = false;
waiting.Visible = false;
litSuccess.Visible = true;
}
부부가에 있습니다. 제안?
감사하지만 null로 HttpContext를 설정하려 :
코드 스 니펫. 나는 '가장 (impersonation)'이 있건 없건간에 노력했다.그 시점에서 사용중인 계정이 팜 관리자 (dev 환경)인지 확인했습니다. 이 시점에서 우리가 수행하는 작업은 숨겨진 SP 사용자 프로필 목록에 쓰고 AD 동기화가 발생할 때까지 스푸핑하는 것입니다. P – Eonasdan