【问题标题】:CA2000:Dispose objects before loosing scopeCA2000:在失去作用域之前处置对象
【发布时间】:2014-08-04 09:44:47
【问题描述】:

在进行代码分析时,我用一种方法跟踪代码 它给了我关于这部分代码的以下信息

CA2000 在方法中丢失范围之前处理对象 'AddressHistory.UpdateFlagInApplicationEntity(bool)',调用 System.IDisposable.Dispose 对象'new OrganizationService("Xrm")' 在所有对它的引用都没有之前 范围。 MasterPortal AddressHistory.aspx.cs 269

我曾经使用来解决这个问题, 但它仍然显示'new OrganizationService'这个消息,是因为在使用部分我写了两次新关键字,我需要它单独声明吗??

请帮帮我

if (applicationDetails.Entities.Count > 0)
{
    Guid applicationId = applicationDetails.Entities[0].Id;
    if (applicationId != null)
    {
        using (var updateContext = new OrganizationServiceContext(new OrganizationService("Xrm")))
        {
            var applicationToupdate = new Entity(ApplicationsEntity.ENTITYNAME) { Id = applicationId };
            applicationToupdate[ApplicationsEntity.SIA_SECTIONCOMPLETEDADDRESSES] = flagValue;
            updateContext.Attach(applicationToupdate);
            updateContext.UpdateObject(applicationToupdate);
            updateContext.SaveChanges();
        }
    }
}

【问题讨论】:

    标签: .net dynamics-crm code-analysis


    【解决方案1】:

    您说您已经将usingOrganizationService 实例一起使用。只要记住将该实例传递给OrganizationServiceContext 构造函数,如下所示:

    if (applicationDetails.Entities.Count > 0)
    {
        Guid applicationId = applicationDetails.Entities[0].Id;
        if (applicationId != null)
        {
            using (var service = new OrganizationService("Xrm"))
            using (var updateContext = new OrganizationServiceContext(service))
            {
                var applicationToupdate = new Entity(ApplicationsEntity.ENTITYNAME) { Id = applicationId };
                applicationToupdate[ApplicationsEntity.SIA_SECTIONCOMPLETEDADDRESSES] = flagValue;
                updateContext.Attach(applicationToupdate);
                updateContext.UpdateObject(applicationToupdate);
                updateContext.SaveChanges();
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-22
      • 2013-05-14
      • 2015-02-09
      相关资源
      最近更新 更多