C#を使用して2つのユーザープロファイルサービスアプリケーションを取得する方法?
-
10-12-2019 - |
質問
2つのユーザープロファイルサービスアプリケーションを得ることは可能ですか
- 1)。ユーザープロファイルService1
- 2)ユーザープロファイルService2
ISTユーザープロファイルサービスアプリケーションのみをフェッチするだけでなく、 2番目のコードを持っています。コードを使用して2ndユーザープロファイルサービスアプリケーションにアクセスするにはどうすればいいですか?
.SPServiceContext oServiceContext = SPServiceContext.GetContext(SPServiceApplicationProxyGroup.Default, SPSiteSubscriptionIdentifier.Default); UserProfileManager oProfileManager = new UserProfileManager(oServiceContext);
注:何らかの理由で、両方のユーザープロファイルサービスアプリケーションが同じSharePointファームに準拠しています。
注:ユーザープロファイルには、ボックスのいずれにも使用されません。
解決
ファームに2人のユーザープロファイルAerviceアプリケーションを使用している場合は、ファーム内の各Webアプリケーションに対して1つのカスタム接続グループを作成する必要があります。次に、各ユーザープロファイルサービスアプリケーションを異なるWebアプリケーションに関連付けるように変更できます。デフォルトのサービスアプリケーション接続グループに含まれているサービスアプリケーションを変更することによって実行できます。コードで、各WebアプリケーションのURLを使用して、各ユーザープロファイルサービスアプリケーションのUserProfileManager
を取得します。
他のヒント
農場で2人のプロフィールサービスを持つことは少しナッツのものであることに同意しますが、うまくいけばあなたのサイトはそれに関連して1つだけです。デフォルトではなくSPSiteオブジェクトにgetextを取得できます。これは、そのサイトに関連付けられているUPSを取得する必要があります。関連付けられている場合...まあ...もう少し掘り下げる必要があります。これが機能するかどうか私に知らせてください。
ユーザープロファイルサービスアプリケーションはそれがプロキシになります。これにより、これら2つのサービスを区別できます。各プロキシを別のプロキシグループに割り当て(デフォルトグループに留まる可能性があります)、2番目のプロキシグループと2番目のプロキシグループに割り当てます。これがどのようにそれを作成することができるかです。
New-SPServiceApplicationProxyGroup –Name MyCustomGroup
.
これで、中央管理 - >アプリケーション管理 - >サービスアプリケーションの関連付けの設定を行い、新しいプロキシグループをWebアプリケーションに割り当てることができます。ユーザープロファイルサービスアプリケーションプロキシの1つを割り当てます。そして今、あなたはロールする準備ができています。
カスタムプロキシグループ名を使用してサービスアプリケーションコンテキストを取得する方法です。
SPServiceApplicationProxyGroup applicationProxyGroup = SPFarm.Local.ServiceApplicationProxyGroups["MyCustomGroup"];
SPServiceContext serviceContext = SPServiceContext.GetContext(applicationProxyGroup, SPSiteSubscriptionIdentifier.Default);
.