1

CRM 組織の ServiceContext を生成しました。CRM に正しく接続できます。app.config ファイルにすべてのコンテキスト構成があるので、すでにインスタンス化されている OrganizationServiceContext から IOrganizationService を取得することは可能でしょうか?

4

1 に答える 1

0

複数の場所からサービス参照にアクセスする必要がある場合、通常は 2 つの手順で行います。まず、呼び出されたメソッドにそれを渡すことができるかどうかを確認しようとします (次のようなものがあると想定しています)。

using (IOrganizationService service 
  = (IOrganizationService) new OrganizationServiceProxy(...))
{
  DoSomething();
  DoSomething(service);
}

private void DoSomething(IOrganizationService service) { ... }

失敗した場合 (技術的なセットアップまたは単純な愚かさのために)、プライベート プロパティを設定し、コンストラクター (または少なくとも最初の呼び出しメソッド) で、このように将来のアクセスのために値を割り当てます。

class MyClass
{
  private IOrganization _service;
  private IOrganization _Service
  {
    get
    {
      if(_service == null)
        _service = (IOrganizationService) new OrganizationServiceProxy(...);
      return _service;
    }
  }
  ...
}

また、サーバー上で動作するコードが多数ある場合は、それらすべてを別のクラスに移動し、それに対して呼び出しを行うことができます (上記のプロパティ設定を使用)。

あなたの質問が正しく理解できているかどうかは完全にはわかりません。

于 2013-01-21T22:34:47.073 に答える