代码之家  ›  专栏  ›  技术社区  ›  Janis Veinbergs

当控制台应用程序进程结束时,是否自动释放所有SPWeb或SPSite实例?

  •  0
  • Janis Veinbergs  · 技术社区  · 14 年前

    我们有 Best practices 在SharePoint中使用一次性对象。

    但是我在想-我可以在使用控制台应用程序时跳过这些吗?这是一些代码,我希望在该过程完成后执行一次。spsite和spweb是否仍在某个位置打开?

    我为什么要问这个?我只是不想在使用诸如

    var lists =
      from web in site.AllWebs.Cast<SPWeb>()
      where web is meeting workspace && list is task list
      select list
    
    then do some stuff on lists
    etc.
    

    那里有严重的资源泄漏 因为网站被打开,过滤,而不是关闭。

    那么我应该在控制台应用程序中担心吗?

    1 回复  |  直到 14 年前
        1
  •  3
  •   Joe Capka    14 年前

    一旦命令行应用程序终止,它的所有资源都将被释放。毕竟,命令行应用程序在单独的进程中运行。这与关闭IIS相同,后者也会释放任何资源,而不管代码忘记了处理它们。