1

サードパーティのアドインのバグ修正を待つ間、OutlookからCRM2011に向けて自動的に実行される一部の削除操作を制限する必要があります。Outlookクライアントに対してのみ実行される(オフラインは使用されていない)か、プラグインがOutlookからトリガーされたかどうかをチェックインする、オンプレミスのDynamics CRM 2011にプラグインを含めることは可能ですか?

CRM 4.0には、これに関する少なくともいくつかの情報を提供するCallerOriginプロパティがありましたが、そのプロパティは現在、CRM2011モデルの内部にのみ存在するようです。

4

2 に答える 2

3

リフレクションでアクセスCallerOriginしました (まだ存在しますが、SDK ライブラリには公開されていません)。

以下のコードは、数行でどのように機能するかを示すためだけに、検証や null チェック (つまり、実稼働コードではない) を行わない、私のコードの短いバージョンです。

object callerOrigin = context.GetType().GetProperty("CallerOrigin").GetValue(context, null);

return callerorigin.GetType().Name; // will return "WebServiceApiOrigin" if called from outlook or web services
于 2013-02-11T13:22:55.773 に答える
0

IExecutionContext には、Outlook でオフラインで実行するプラグインを作成するときに注意する必要がある 2 つのプロパティがあります。

IExecutionContext.IsExecutingOfflineは、プラグインがオフライン時に Outlook で実行されているかどうかを示します。

IExecutionContext.IsOfflinePlaybackは、クライアントがサーバーに再度接続し、変更をサーバーと同期するときに、Outlook クライアントがオフラインである間に行われた変更が再生されているときに、プラグインが起動されていることを示します。

于 2013-02-08T23:24:39.643 に答える