标签: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的两个属性:DependentComponentObjectId和DependentComponentType。
Dynamics 365-RetrieveDependenciesForDeleteRequest
标签:plugin 完全 strong http depend 属性 tty end sdn
原文地址:https://www.cnblogs.com/yobyron/p/9043112.html