【发布时间】:2015-05-19 10:53:06
【问题描述】:
我在 CRM 2013 中创建自定义错误记录器具有将错误信息保存到 CRM 实体中的功能。我调试了我的代码,发现我的代码运行良好。但问题是当CRM回滚事务时,日志实体也消失了。我想知道是否可以在 catch 块上创建实体并仍然抛出该错误?
public void Execute(IServiceProvider serviceProvider)
{
try
{
...
}
catch (Exception ex)
{
IPluginExecutionContext context =
(IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.
GetService(typeof(IOrganizationServiceFactory));
IOrganizationService service = serviceFactory.CreateOrganizationService(Guid.Empty);
var log = new Log
{
Message = ex.Message
};
service.Create(log);
throw;
}
}
【问题讨论】:
标签: c# dynamics-crm