在c#中创建动态服务代理的最佳实践365/crm 2016

问题描述:

因此,我有大量的SSIS包使用旧的2011端点地址在c#脚本中进行连接。通过看起来像这样的代码。在c#中创建动态服务代理的最佳实践365/crm 2016

OrganizationServiceProxy crmService; 
crmService = new OrganizationServiceProxy(new Uri(https://someorg.crm.dynamics.com/XRMServices/2011/Organization.svc), null, crmCredentials, null); 

我一直在试图弄清楚什么时候需要担心这一点。根据更新说明,2011年的终端消失。因此,在深入研究新文档后,我终于找到了如何设置CRMServiceClient对象。我为此花了一些时间,并在我用于测试的场景演示中使用了连接字符串。通过看起来像这样的代码。

CrmServiceClient cService; 

IOrganizationService service; 

cService = new CrmServiceClient(string.Format("Authtype=IFD;Url=https://{0}.someclient.com:{1}/{0}; Username={2}; Password={3}", Variables.Environment, Variables.Port, Variables.CrmUser, Variables.CrmPassword)); 

service = cService.OrganizationServiceProxy; 

所以我尝试找出是每个人的思想的最佳实践设置我的连接对象前进和更新我的旧包。或者,如果我甚至需要,语言有点含糊,所以我仍然不确定我的在线环境软件包是否需要更新。

干杯!

+0

这是一个非常广泛的问题。没有看到你的逻辑内部,很难回答你。是的,终端即将退休,必须切换到webapi。组件/命名空间正在改变。康涅狄格州字符串可能会根据您现有的使用情况而改变。请改进您的问题/问题并寻求帮助。 –

+0

啊,认为这是自我解释。现在包括我曾经做过的和我用于较新项目的例子。 –

+0

由于CrmServiceClient实现了IOrganizationService本身,我使用它而不是OrganizationServiceProxy。根据该主题https://community.dynamics.com/crm/f/117/t/189681中的帖子,代理不是类型安全的。如果任何人都可以解释通过CrmServiceClient使用OrganizationServiceProxy的好处,我将切换... – Aron

是的,您需要利用您所针对的环境的最新SDK(不仅仅是因为2011年端点弃用,而是因为also Azure deprecating ACS)。在这个时候,我们有最好的信息时2011 endpoint will officially go away is

由于微软Dynamics CRM Online中2016 Update 1和 的Microsoft Dynamics CRM 2016的Service Pack 1(8.1.0)中,CRM 2011 的释放端点已被弃用。在Dynamics 365版本9发布后,2011年终点将被删除一些 时间。

因此,最有可能在下一年。话虽如此,最新的SDK仍然在技术上位于幕后的2011年终结点(您可以通过运行Fiddler来监控http流量来验证这一点)。这个想法是,在未来的某个时候,SDK将开始触发webapi端点而不会改变SDK的接口(所以仍然利用较新的连接/代理对象和连接字符串)。

+0

谢谢马特!所以听起来像我肯定会有一些软件包在更新之前更新。我只是想在进入这条道路之前仔细检查并确保社区,并确保我一直以来采用的新方法是合适的。 –