1

私はダイナミック CRM 2011 の初心者なので、この質問はとても簡単かもしれません。
私はWCFサービスをCRMのさまざまなインスタンスに接続して、コードのこの部分を使用しています:

 var settings = new ConnectionStringSettings("Xrm", connectionString);

 var connection = new CrmConnection(settings);

 using (var xrm = new XrmServiceContext(connection))
 {
    //do the magic here
 }

"connectionString" パラメータは、CRM の接続文字列を含む文字列です。

だから、問題は、接続文字列に書いたサーバーに初めて接続するときはうまくいくということですが、その後、常に同じサーバーに接続します。つまり、サーバーアドレスを変更しても、常に接続しようとします。最初の1つ。

デバッグ、私は

var connection = new CrmConnection(settings);

そして、常に最初のサーバーへの同じ接続です....

したがって、その接続を破棄する方法、またはコンストラクターに常に新しいインスタンスを作成させる方法が必要です...またはそのようなもの...しかし、それを行うメソッドまたは操作が見つかりません...

前もって感謝します!

4

2 に答える 2

3

わかりました、解決策を見つけました。それが最善の解決策かどうかはわかりませんが、うまくいきます...
これを使用する代わりに

var settings = new ConnectionStringSettings("Xrm", connectionString);
var connection = new CrmConnection(settings);

私が使う

var connection = CrmConnection.Parse(connectionString);

それは私に同じ結果を与えており、常に正しい接続文字列を使用しています

于 2012-06-20T16:04:13.133 に答える
1

ここでの根本的な問題は、一部のプロパティがそれぞれに対してキャッシュされることConnectionStringSettingsです。これを回避するには、各インスタンスに一意の名前を付けます (例: Xrm1、Xrm2 など)。したがって、動作が SDK に明示的に文書化されているかどうかはわかりませんが、確かに遭遇し、指摘したように修正しました。

于 2012-06-20T20:40:30.707 に答える