【发布时间】:2013-04-09 13:34:21
【问题描述】:
此脚本 sn-p 正在函数内访问 SharePoint 网站 (web)。它创建一个 SPWeb 对象,该对象应在函数结束时处理以避免内存泄漏。通常处理对象的方式类似于$web.dispose()。在这种情况下,SPWeb 对象被创建并在管道中使用,但没有名称。
代码如下:
function foobar {
$x = Get-SPWeb -Identity "http://mylocalsite/Sites/test1/test2" |
ForEach-Object {$_.Lists | Where {$_.Title -EQ "someLibrary"} |
Select ID }
}
我怀疑 SPWeb 对象没有在管道末端自动释放,导致内存泄漏。
如何处置在管道中创建的对象?我什至需要吗?
仅供参考:$x 没有名为“Dispose”的方法,因此 $x.Dispose() 不起作用。
【问题讨论】:
-
这样做的最终结果是:这是完成我打算做的事情的糟糕方式,我改变了它以获得更好的实践和灵活性。最终的答案是——换一种方式。
标签: sharepoint powershell scope piping