2013-01-22 37 views
0

我有一个计时器作业,它扫描所有网站和所有网站。在循环SPWebApplication.Sites时,列出所有BUT ONE站点。SPWebApplication.Sites不会返回Sharepoint 2010中的所有网站

这是代码:

foreach (SPWebApplication app in service.WebApplications) 
       { 
        foreach (SPSite site in app.Sites) 
        { 
         // site missing here 
         foreach (SPWeb web in site.AllWebs) 
         { // stuff here } 
        } 
       } 

所有站点都在中央管理中所示。任何想法?

+0

什么是缺少的?你有正确的权限吗?如果你把这个代码包装在一个'SPSecurity.RunWithElevatedPrivileges'块中呢? –

+0

我将内部部分(在foreach之后)包装到RunWithElevatedPrivilegues中此代码在JobDefinition中运行。应该有所需的权利 –

+0

请尝试在此块中包装外部循环。一个可能的原因是'app.Sites'枚举没有足够的权限。 –

回答

0

问题是一个缺少web.Dispose()在内部循环,使代码崩溃之前,我正在寻找网站集合。

由于配置错误无法捕捉catch()它看起来像代码运行“正常”

相关问题