如何计算用户MySite的ID

本文关键字:用户 MySite ID 计算 何计算 | 更新日期: 2023-09-27 17:48:51

在用c#编写的Sharepoint WebPart中,我需要找出当前用户MySite的ID,或者检查当前网站是否为用户MySite。

想法?

如何计算用户MySite的ID

我花了一下午的时间来研究这个问题,并且已经解决了。

在引用Microsoft.Office.Server.dll和Microsoft.Sharepoint.dll 后添加以下using语句

using Microsoft.SharePoint;
using Microsoft.Office.Server;
using Microsoft.Office.Server.UserProfiles;

然后通过执行以下操作访问用户配置文件:

ServerContext sc = ServerContext.Current;
UserProfileManager upm = new UserProfileManager(sc);
UserProfile up = upm.GetUserProfile(SPContext.Current.Web.CurrentUser.LoginName);

然后您可以通过:获取MySite的网站集ID(SPSite.ID)

upm.GetUserProfile(SPContext.Current.Web.CurrentUser.LoginName).ID

或者站点ID(SPWeb.ID)通过:

upm.GetUserProfile(SPContext.Current.Web.CurrentUser.LoginName).PersonalSite.RootWeb.ID

很明显,不是真的!