代码之家  ›  专栏  ›  技术社区  ›  Karlheinz Reinhardt

Microsoft Graph dotNet sdk线程安全?

  •  1
  • Karlheinz Reinhardt  · 技术社区  · 8 年前

    Graph dotNet sdk是否在所有领域都实现了线程安全?

    E、 g.多个工作线程想要检索用户电子邮件:

    var request = graphClient.Users[usrId].Messages.Request().Top(top).Select(select).Skip(10);
    var result = await request.GetAsync();
    

    发送/执行请求应该是线程安全的,因为每个请求都是在各自的任务中执行的。 但是,创建请求是否实现了线程安全?

    所以我的问题是

    • 在sdk中创建请求是否线程安全?
    • 对图形客户端实例的访问是线程安全的吗?
    1 回复  |  直到 8 年前
        1
  •  3
  •   Michael Mainer    8 年前

    不,是的。Net Graph客户端库并非在所有区域都实现线程安全。通过快速查看库代码 BaseClient baseUrl是可设置的,这可以启用两个线程访问该变量的场景。这可能会导致向意外的BaseURL发出请求。一旦通过GraphServiceClient提供的baseUrl构建了请求,请求的创建就应该是线程安全的。

    关于对图形客户端实例的访问和线程安全,如果我理解正确的话,这是一个如何设计应用程序对库的访问的问题。

    推荐文章