1

我是 Dynamic 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的连接字符串的字符串。

所以,问题是它第一次很好地连接到我在 connectionString 中编写的服务器,但是,它总是连接到同一个服务器,我的意思是,即使我更改服务器地址,总是尝试连接到第一。

调试,我在看

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 回答