码迷,mamicode.com
首页 > 其他好文 > 详细

Dynamics 365-RetrieveDependenciesForDeleteRequest

时间:2018-05-15 22:48:00      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:plugin   完全   strong   http   depend   属性   tty   end   sdn   

  不少人在使用Dynamics 365的时候,或多或少都会遇到Delete a Component的情况,比如Unregister a Plugin/Workflow。

  想象这么一个常见的情形:你定制了一个Custom Workflow,然后在CRM环境中新建了一个Workflow,其中使用了Custom Workflow作为Step,但是现在需求有变动,Custom Workflow不需要,你需要Unregister它。直接使用Plugin注册Tool去Unregister能够成功么?

  答案是否定的,因为还有依赖它的Workflow存在呢。这个时候你只需要选处理CRM环境中的Workflow,再去Unregister Custom Workflow就能够成功了。

  把上面的例子想的再复杂点,CRM环境中的Workflow是CRM Administrator配置的,作为开发的你完全不知道这些依赖的Workflows到底是哪些,这个时候怎么办呢?

  如果我们能够查出这些依赖的Components,然后先处理一番,是不是就可以了呢。这个时候就可以使用RetrieveDependenciesForDeleteRequest对象了。

  这个Request的使用可简单,仅有两个必填信息:ComponentType和ObjectId。对应的都是你要删除的Component的描述。

  ComponentType:对应的其实是一个枚举对象,可以参考官方描述给出对应的int值。比如Custom Workflow:90

  ObjectId:对应的就是Component的Guid了。

  调用Request之后,从RetrieveDependenciesForDeleteResponse中访问EntityCollection集合,就能得到所有依赖的Components。

  那么如何知道依赖的Component的类型和Guid呢?

  查看Entity的两个属性:DependentComponentObjectIdDependentComponentType。

  

  

Dynamics 365-RetrieveDependenciesForDeleteRequest

标签:plugin   完全   strong   http   depend   属性   tty   end   sdn   

原文地址:https://www.cnblogs.com/yobyron/p/9043112.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!