我有一个带有预删除插件的实体。如果删除请求是在crm中手动发出的,还是以编程方式使用sdk中的crmservice,是否可以区分插件?
答案 0 :(得分:2)
据我所知,无法区分插件内部使用sdk创建的Web界面请求。
答案 1 :(得分:1)
您可以从其他信息中推断出来。
如果您知道将始终执行删除的特定用户(例如服务帐户),则可以检查IPluginExecutionContext.InitiatingUserId
。
或者你可以有一个'按服务删除'字段,不要在表单上放置该字段,然后在通过crmservice发出删除之前,将该字段更新为已知值。然后你的插件可以检查那个字段。
不像检查原始字段那样优雅,但您应该能够执行所需的逻辑。