我正在和一位同事讨论在插件或工作流程中使用webservices的问题
他说使用动态entites是microsoft建议的最佳实践,因为Web服务需要身份验证。
我认为使用wsdl和强类型实体更清晰,更不容易出错,并且身份验证延迟可以忽略不计
另外,我们计划更新到CRM 2011
那么,我们哪一个是对的?
答案 0 :(得分:1)
动态实体和强类型实体都需要身份验证。我不认为两者之间的身份验证有延迟。
如果您正在编写可应用于其他CRM组织的通用代码(作为ISV),那么动态实体就是您的选择。否则我会建议强类型实体是更好的选择,因为代码更清晰,更可读,如你所说。
这两组代码都需要重新使用CRM 2011。
一切顺利,
答案 1 :(得分:1)
强类型和动态实体都使用Web服务,这两者都需要身份验证,因此没有真正的区别。
在升级到Crm 2011方面,2011年的网络服务发生了变化,所以如果你想重新编码,那么两者都必须重新编码。或者您可以继续使用Crm 4 Web服务而不是重新编码。所以再没有真正的区别。
我找不到微软的任何内容,说他们更喜欢动态实体。在Best Practices for Developing with Microsoft Dynamics CRM 2011中,他们实际上会根据您的情况使用两者。
当代码必须处理实体时,请使用Entity类 编写代码时未知的属性。 但是,这种灵活性有一个缺点,因为你无法验证 编译时的实体和属性名称。如果您的实体是 已经在代码时定义,你应该使用早期绑定类型 您可以使用CrmSvcUtil工具生成。更多 信息,请参阅使用代码中的早期绑定实体类。
我认为这主要取决于风格和偏好(没有人可以做对) - 我个人更喜欢动态实体。
强力打字 - 优点:
强烈打字 - 缺点: