C# ile IIS Application Recycle Nasıl yapılır?

Merhaba arkadaşlar bu makalemde c# ile application pool'daki bir site veya siteleri nasıl recycle yaparız onu anlatmak istiyorum. 

Öncelikle kod parçasındaki kütüphane için en az .net 4.5 gerekmektedir.

Bu programı time schedule'da(görev zamanlayıcı) 1 dakikalık aralarla çalışacak şekilde bir console uygulaması yapabilirsiniz. Bunu tabi ki bilgisayarın RAM kullanıma bakarak yapmalısınız. Bu örnekten RAM kullanımı %85 üzerinde ise recycle yaptırıyorum

Microsoft.VisualBasic.Devices.ComputerInfo ci = new Microsoft.VisualBasic.Devices.ComputerInfo();
1)  ulong totalMemory = ci.TotalPhysicalMemory; 

2)  ulong usageMemory = ci.TotalPhysicalMemory - ci.AvailablePhysicalMemory; 
3)  decimal percent = Convert.ToDecimal(usageMemory) / Convert.ToDecimal(totalMemory);
4)  if (percent * 100 > 85) 
        {
5)    ServerManager serverManager = new ServerManager(); 
        ApplicationPoolCollection appPools = serverManager.ApplicationPools;
6)    foreach (ApplicationPool ap in appPools)
        {
             try
                 {
7)                 ap.Recycle();
                 }
                 catch
                  {
                       continue;
                  }
                    }
                      

}

Yapılanlar
 
1) Bilgisayarın Toplam Fiziksel Ram'ini alıyoruz.
2) Kullanılan Ram miktarını hesaplıyoruz.
3) Kullanılan Ram'in % olarak karşılığını buluyoruz.
4) Eğer bu oran 85'ten büyük ise
5) ServerManager nesnemizi oluşturuyoruz
6) Uygulama Havuzu içinde dönüyoruz.
7) Recycle();