我是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);
并且始终与第一台服务器的连接相同....
所以,我需要一种方法来处理该连接,或强制构造函数始终创建一个新实例......或类似的东西...... 但我找不到那种方法或操作......
提前致谢!
答案 0 :(得分:3)
好的,我找到了一个解决方案,我不知道它是否是最佳解决方案,但它确实有效...... 而不是使用这个
var settings = new ConnectionStringSettings("Xrm", connectionString);
var connection = new CrmConnection(settings);
我用
var connection = CrmConnection.Parse(connectionString);
这给了我相同的结果,并且始终使用正确的连接字符串
答案 1 :(得分:1)
这里的根本问题是为每个ConnectionStringSettings
缓存了一些属性。您可以通过为每个实例使用唯一名称来避免这种情况(例如:Xrm1,Xrm2等)。我不确定SDK中是否明确记录了这种行为,但我确实遇到过并按照我的说明修复了它。