早期绑定类的用法

use*_*412 2 c# crm dynamics-crm-2011 dynamics-crm-4

请原谅可能出现的任何刺激.

因此,在使用早期绑定类一段时间之后,我们的团队已经注意到一些缺点使得早期绑定类非常无用.

问题:

  • 慢,因为它必须连接到ws并越过http,甚至认为它在与系统其余部分相同的进程中运行.
  • 附加到插件中的CREATE消息时导致sql死锁.
  • 对系统和类的任何轻微更改都需要重新生成并且事情会中断.

那他们什么时候有用呢?关于这个东西的MS文档在哪里?除了如何生成它们的教程.

谢谢,乔恩

cce*_*lar 5

我们主要使用早期绑定类型进行开发.如果您开发业务逻辑(类型安全,......),它们就有意义.

但是,后期限制方法仍有空间.当我们必须保持通用并且无法预测目标系统的外观时,我们正在使用后期绑定开发.或者,如果您开发了一些可以以多种方式配置的可重用组件(如数字生成器).

  • 慢,因为它必须连接到ws并通过http,即使它在与系统其余部分相同的进程中运行.

在这一点上,早期和晚期编程之间没有区别.更新后期实体与.Update()调用SaveChanges()数据上下文的区别在哪里?您不必显式调用webservice时您在使用插件的早期绑定类.

  • 附加到插件中的CREATE消息时导致sql死锁.

这不是由早期绑定类型引起的.这种行为还有其他原因.

  • 对系统和类的任何轻微更改都需要重新生成并且事情会中断.

我也不能就这一点达成一致.有一个班级的区别在哪里

Account.Foo = "some data here";
Run Code Online (Sandbox Code Playgroud)

或使用实体

Entity["new_foo"] = "some data here";
Run Code Online (Sandbox Code Playgroud)

如果你有变化,new_foo你必须处理早期和晚期绑定类.但是,如上所述,如果您不知道使用早期绑定类的目标环境,则在生成的属性引用的字段不可用时可能会导致问题.