5

システム ユーザーに代わってデータを操作する MS Dynamics CRM 2011 プラグインを作成しています。必要な方法でステータスを変更したり、管理情報を入力したりします。

次のコードを使用OrganizationServiceして、に代わって実行していSYSTEMます。

IOrganizationServiceFactory factory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
IOrganizationService service = factory.CreateOrganizationService(null);

開発環境ではすべてがスムーズに実行されていますが、アセンブリをステージング環境にデプロイすると、何らかの理由でこのコードが機能しなくなります。John Doeシステムは 1 人のユーザーを選択しました。彼に電話して、彼に代わってアクションを実行しましょう。

これが発生する理由がわかりません。両方の環境は多かれ少なかれ同じです。唯一の違いは、ステージングで使用される IFD です。

SYSTEMMS CRM のどこかでユーザーを無効にすることはできますか? はいの場合、この設定はどこにありますか? 問題を解決するには、他に何を確認する必要がありますか?

4

1 に答える 1

3

IOrganizationService オブジェクトを作成する方法は正しい

CreateOrganizationService 関数のパラメーター 'null' は、SYSTEM アカウントに対してサービスが作成されることを示します。取得と作成は、SYSTEM アカウントによって行われます。これ以上のなりすましは必要ありません。

詳細については、MSDNを参照してください。

プラグインは両方の環境で同じ方法で登録されていますか? PluginRegistrationTool では、プラグインを実行している別のユーザーを選択できます。そこで選んだのは?

システム ユーザーを無効にすることはできません。ユーザーはデフォルトで無効になっています。システム プロセスはアカウントを使用します。

于 2013-11-07T18:53:08.790 に答える