dynamics-crm-2011 - 我是否需要同时处理 CRM OrganizationServiceProxy 和 OrganizationServiceContext?

标签 dynamics-crm-2011

OrganizationServiceProxy 和 OrganizationServiceContext 都支持 dispose 方法。我是否需要将它们都包装在一个 using 语句中?

using (var proxy = GetOrganizationServiceProxy(Constants.OrgName))
{
    using (var context = new OrganizationServiceContext(proxy))
    {
        // Linq Code Here
    }
 }

或者处理上下文关闭是否会正确关闭代理,这意味着只需要这个?

 var proxy = GetOrganizationServiceProxy(Constants.OrgName)
 using (var context = new OrganizationServiceContext(proxy))
 {
     // Linq Code Here
 }

最佳答案

上下文无法处理代理,因为它无法决定它是否被任何其他对象使用。 如果您查看 OrganizationServiceContext 的 Dispose,您会看到

public void Dispose()
{
  this.Dispose(true);
  GC.SuppressFinalize((object) this);
}

protected virtual void Dispose(bool disposing)
{
  if (!disposing)
    return;
  this.ClearChanges();
}

顺便说一句。你可以结合使用语句

using (var proxy = GetOrganizationServiceProxy(Constants.OrgName))
using (var context = new OrganizationServiceContext(proxy))
{
    // Linq Code Here
}

关于dynamics-crm-2011 - 我是否需要同时处理 CRM OrganizationServiceProxy 和 OrganizationServiceContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7731854/

相关文章:

dynamics-crm - 如何在 CRM 2011 中的脚本中从实体中获取数据

dynamics-crm-2011 - JavaScript 无法在其他浏览器中运行 - MS CRM 2011

plugins - 在 CRM 2011 中升级自定义工作流事件程序集时出错

javascript - 为什么 getAttribute 返回 null?

javascript - Crm 2011 - 手动保存后页面仍然是 "dirty"

sql-server - 如何改善 CRM 2011 On Prem Dev Environment 中的删除超时问题?

c# - VS2012 + CRM 2011 : Microsoft. IdentityModel 引用错误

dynamics-crm-2011 - 功能区按钮值规则取决于状态代码值

c# - Dynamics CRM 2011 - 如何在工作流步骤中发送带有外部链接的电子邮件

javascript - FetchXml 查询返回 trim 后的 DocumentBody?