如何在 WCF 中释放客户端上下文(SharePoint Online )



我正在使用 IIS 中承载的 WCF 从 SharePoint Online 获取数据。我决定使用此示例处理所有错误。在我的代码中,我正在使用需要以正确方式处理的 ClientContext 类

  ClientContext _context = new ClientContext(_url);
  var list = _context.Web.Lists.GetByTitle(ListName);
  ListItem item = list.GetItemById(id);
  _context.Load(item, i => i[Description], i => i[Picture], i => i[Title], i => i.Id);
  _context.ExecuteQuery();
  _context.Dispose();

但是如果我在_context得到例外。执行查询();我去处理错误方法

public bool HandleError(Exception error)
{
    return true;
}

问题是:在这种情况下如何释放客户端上下文?

走这条路:

using(ClientContext _context = new ClientContext(_url))
{
    var list = _context.Web.Lists.GetByTitle(ListName);
    ListItem item = list.GetItemById(id);
    _context.Load(item, i => i[Description], i => i[Picture], i => i[Title], i => i.Id);
    _context.ExecuteQuery();
}

try
{  
  ClientContext _context = new ClientContext(_url);
  var list = _context.Web.Lists.GetByTitle(ListName);
  ListItem item = list.GetItemById(id);
  _context.Load(item, i => i[Description], i => i[Picture], i => i[Title], i => i.Id);
  _context.ExecuteQuery();
}
finally
{  
  _context.Dispose();
}

相关内容

  • 没有找到相关文章

最新更新