我在CRM 2011中有一个自定义工作流程,它是针对自定义实体记录手动触发的。选择单个记录进行处理时,工作流程始终成功。但是,当选择多个记录时,至少有一个记录会失败。即使使用相同的数据,提供的错误似乎也会因尝试而异。
到目前为止我遇到的错误是:
重新启动数据库服务器后:
调用IOrganizationService的Update方法时会发生所有这些。自从重新启动数据库服务器以来,无效指针错误似乎是更常见的错误(有人向我建议它可能是一个过于繁忙的数据库服务器的问题)。我还删除了任何积压的异步任务,如果这是问题,但它没有任何影响。
有谁知道这个错误意味着什么,为什么我会得到它或如何解决这个问题?
非常感谢!
答案 0 :(得分:8)
似乎这个错误信息是一种说法,'当前一个打开时尝试打开与CRM的另一个连接',而原因它尝试这样做是非常的与处理多个记录时仅失败的事实非常相关。
参考此博客:
似乎当针对多个记录运行工作流时,它使用该类的相同实例,这意味着不会在执行之间重新实例化类级变量。因此,当后续执行到达将类级服务变量设置为IOrganisationService实例的代码时,它会发现变量已经有一个并且它已打开。
我发现最容易实现的解决方案是在Execute函数中使用服务变量,而不是类级别。这解决了我从那以后到处尝试过的问题。
答案 1 :(得分:0)
根据CRM 2011 Web Service Error Codes ...
InvalidPointer - 处理对象。