是否可以像在Crm 4中那样进行异步调用
crmService.UpdateAsync(card, Guid.NewGuid());在CRM 2011?
在SSIS的帮助下,我不得不在CRM和一些系统之间进行同步。在目标脚本组件中,我想使用异步调用,但我不想自己编写异步调用。
谢谢!
发布于 2013-03-07 17:14:24
It可以回答这个问题,但只有在CRM2011 UR 12中才有可能
#region Execute Multiple with Results
// Create an ExecuteMultipleRequest object.
requestWithResults = new ExecuteMultipleRequest()
{
// Assign settings that define execution behavior: continue on error, return responses.
Settings = new ExecuteMultipleSettings()
{
ContinueOnError = false,
ReturnResponses = true
},
// Create an empty organization request collection.
Requests = new OrganizationRequestCollection()
};
// Create several (local, in memory) entities in a collection.
EntityCollection input = GetCollectionOfEntitiesToCreate();
// Add a CreateRequest for each entity to the request collection.
foreach (var entity in input.Entities)
{
CreateRequest createRequest = new CreateRequest { Target = entity };
requestWithResults.Requests.Add(createRequest);
}
// Execute all the requests in the request collection using a single web method call.
ExecuteMultipleResponse responseWithResults =
(ExecuteMultipleResponse)_serviceProxy.Execute(requestWithResults);
// Display the results returned in the responses.
foreach (var responseItem in responseWithResults.Responses)
{
// A valid response.
if (responseItem.Response != null)
DisplayResponse(requestWithResults.Requests[responseItem.RequestIndex], responseItem.Response);
// An error has occurred.
else if (responseItem.Fault != null)
DisplayFault(requestWithResults.Requests[responseItem.RequestIndex],
responseItem.RequestIndex, responseItem.Fault);
}来自MSDN的代码
发布于 2013-01-26 00:35:01
我主要使用的是CRM 2011 (而不是CRM 4),但听起来您似乎要部署一个插件。如果没有,现在就停止阅读吧。:)
如果是这样的话,您可以在PRT中注册插件时将调用类型设置为异步。只需单击该选项即可。
你还有另一个选择。如果您运行的是最新的.NET框架,就会有一个新的关键字异步执行该方法。如果你的目标是一个更老的.NET版本,不要绝望--我使用线程进行了长时间的更新,而且效果也很好。
https://stackoverflow.com/questions/14525634
复制相似问题