プラグインを開発しています。プラグインが呼び出されるたびに、現在のユーザー情報を取得する必要がありますか?それを取得する方法はありますか?
質問する
15695 次
2 に答える
18
情報は PluginExecutionContext で利用できます。以下のコードは、プラグインが実装する必要がある Execute メソッドからのものです。
public void Execute(IServiceProvider serviceProvider)
{
IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
Guid userId = context.InitiatingUserId;
}
参考までに、コンテキストには、InitiatingUserId と同じ場合と異なる場合がある "UserId" プロパティもあります。プラグイン ステップ登録の [Run in Users's Context] フィールドの値が [Calling User] の場合、それらは同じになります。[ユーザーのコンテキストで実行] フィールドでユーザーを指定した場合、UserId フィールドには指定したユーザーのユーザー ID が含まれ、InitiatingUserId はアクションによってプラグインがトリガーされた実際の CRM ユーザーになります。InitiatingUserId を探しているようです。
于 2012-05-16T21:54:59.747 に答える