【问题标题】:Sharepoint ClientContext usage in servicesSharepoint ClientContext 在服务中的使用
【发布时间】:2016-03-26 23:38:16
【问题描述】:

我在我们的一项 WCF 服务中使用 SharePoint SDK。

为了从 SharePoint 获取字节数组(文档),我使用 SDK 的 ClientContext 类。对 SharePoint 的调用都封装在一个名为 SharePointConnector 的自定义类中(类似于一种存储库模式)。

我的目标是使用接口 ISharePointConnector 将 SharePointConnector 类注入我的 wcf 服务中。

我的问题:

  1. 我应该在 SharePointConnector 的构造函数中创建 ClientContext 还是应该在每次调用时使用它,包装在 using 块中?我的担忧:创建 ClientContext 的调用成本高吗?对同一 clientContext 成员变量实例进行多次调用时线程安全吗?
  2. 我应该在什么时候注册 url 以便它可以在 ClientContext 的构造函数中使用?

请注意,通过在构造函数中创建ClientContext实例来实现它,由于DI容器的构造函数注入......

【问题讨论】:

    标签: c# sharepoint dependency-injection


    【解决方案1】:

    我非常建议您在方法范围内使用ClientContext(或您的情况下的任何调用),而不是在构造函数中实例化它,主要有两个原因:

    1. 灵活性:您将能够根据特定情况下的需要调整ClientContext
    2. 资源: 正如您已经指出的那样,ClientContext 实现了IDisposable 接口,因此应该在使用后处置/释放,这将为您节省一些资源。你知道演习:

      using (ClientContext clientCtx = new ClientContext(siteUrl)){ //do your stuff... }

    【讨论】:

      猜你喜欢
      • 2017-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多