2009-07-16 2 views
0

Zur Zeit habe ich dieses Programm:Wie entfernen Sie programmgesteuert alle Elemente aus dem Papierkorb der zweiten Stufe in SharePoint 2007?

namespace EmptySiteCollectionRecycleBin 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      using (SPSite mySite = new SPSite("http://mysharepointsite")) 
      { 
       try 
       { 
        mySite.RecycleBin.DeleteAll(); 
        if (mySite != null) 
        { 
         mySite.Dispose(); 
        } 
       } 
       catch (Exception ex) 
       { 
        Console.WriteLine(ex.Message); 
       } 
      } 
      Console.WriteLine("Recycle bin emptied"); 
      Console.WriteLine("Press any key to exit"); 
      Console.ReadLine(); 
     } 
    } 
} 

Kann mir jemand sagen, wie ich sicherstellen können, dass diese alle Elemente aus der „zweiten Stufe RecycleBin/AdminRecyleBin“ entfernen, wie zu sehen, wenn Sie diese URL in Sharepoint zu navigieren: _layouts/AdminRecycleBin.aspx View = 2

ich im Blick auf die Methoden zu sehen, es ist dies:

mySite.RecycleBin.MoveAllToSecondStage(); 

gibt es so etwas wie "DeleteAllFromSecondStage();"?

Oder vielleicht so etwas wie:

mySite.RecycleBin.BinType = SPRecycleBinItemState.SecondStageRecycleBin; 

Antwort

2

ich es herausgefunden, hier ist der Code, der alle Elemente in der SecondStageRecycleBin gelöscht.

Der relevante Teil ist "mySite.RecycleBin.BinType == SPRecycleBinType.SiteRecycleBin", um festzustellen, dass Sie die SecondStageRecycleBin-Elemente löschen.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using Microsoft.SharePoint; 

namespace SharePointUtilities 
{ 
    class EmptySiteCollectionRecycleBin 
    { 
     static void Main(string[] args) 
     { 
      #region SharePoint Delete RecycleBin Items 
      using (SPSite mySite = new SPSite("http://mysharepointsite/")) 
      { 
       try 
       { 
        //Empty the items from the SiteRecycleBin (the second stage recycle bin)  
        if (mySite.RecycleBin.BinType == SPRecycleBinType.SiteRecycleBin) 
        { 
         int startCount = mySite.RecycleBin.Count; 

         //See the number of items before the delete 
         Console.Write("There are currently: " + startCount + " items in the Recycle Bin.\n"); 

         //Delete all the items 
         mySite.RecycleBin.DeleteAll(); 

         //See the number of items after the delete 
         Console.Write("\nThere are now: " + startCount + " items in the Recycle Bin, after deletion.\n"); 
        } 

        //Make sure we dispose properly 
        if (mySite != null) 
        { 
         mySite.Dispose(); 
        } 
       } 
       catch (Exception ex) 
       { 
        Console.WriteLine(ex.Message); 
       } 
      } 
      #endregion 
      Console.WriteLine("Recycle bin emptied"); 
      Console.WriteLine("Press any key to exit"); 
      Console.ReadLine(); 
     } 
    } 
} 
+0

Richtig. Der Papierkorb der zweiten Stufe existiert auf der Websitesammlungsebene. –

Verwandte Themen