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;
}
}
}