0

すべてのサイトのパブリックURLを取得しようとしています。私はすべてのログイン名に対してこのコードを実行し、1人のユーザーを除いて正常に機能しています。このユーザーの場合、up.PersonalSiteでnullが発生します。手動で確認しましたが、そのユーザーのmysiteが存在します。up.personalsiteがnullを返す理由についてのアイデア。助言がありますか?

SPServiceContext context = SPServiceContext.GetContext(Site);
UP.UserProfileManager upm = new UP.UserProfileManager(context);
UP.UserProfile up = upm.GetUserProfile(LoginName);
 if (up.PersonalSite == null)
    return "#";
 else
    return up.PublicUrl.OriginalString;
4

1 に答える 1

0

たぶん、あなたは既存のユーザーのプロフィールページを見ましたか?(http://localhost/my/Person.aspx?accountname=DOMAIN%5CVPupkin)ユーザーは自分でサイトを作成する必要があります。または、プログラムで作成することもできます。

SPServiceContext context = SPServiceContext.GetContext(Site);
UP.UserProfileManager upm = new UP.UserProfileManager(context);
UP.UserProfile up = upm.GetUserProfile(LoginName);
up.CreatePersonalSite();
于 2012-08-06T09:08:33.883 に答える