2013-01-22 35 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()它看起來像代碼運行「正常」

相關問題