ApplicationDomain.Unload Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выгружает домен приложения.
public:
void Unload();
public void Unload();
member this.Unload : unit -> unit
Public Sub Unload ()
Примеры
В следующем примере показано, как просмотреть все свойства и выгрузить домен приложения.
using System;
using Microsoft.Web.Administration;
namespace AdministrationSnippets
{
public class MicrosoftWebAdministrationApplicationDomain
{
ServerManager manager = new ServerManager();
public void RecycleApplicationDomains()
{
Console.WriteLine("Displaying Worker Processes & Application Domains...");
GetApplicationDomains();
Console.WriteLine("Unloading all application domains");
UnloadApplicationDomains();
Console.WriteLine("Displaying Worker Processes & Application Domains with new IDs...");
GetApplicationDomains();
}
public void UnloadApplicationDomains()
{
foreach (WorkerProcess proc in manager.WorkerProcesses)
{
foreach (ApplicationDomain ad in proc.ApplicationDomains)
{
ad.Unload();
}
}
}
public void GetApplicationDomains()
{
foreach (WorkerProcess proc in manager.WorkerProcesses)
{
Console.WriteLine("Worker Process Found:");
Console.WriteLine("\tProcessId: {0}", proc.ProcessId);
Console.WriteLine("\tProcessGuid: {0}", proc.ProcessGuid);
Console.WriteLine("\tAppPoolName: {0}", proc.AppPoolName);
Console.WriteLine("\tApplication Domains:");
foreach (ApplicationDomain ad in proc.ApplicationDomains)
{
Console.WriteLine("\t\tApplication Domain Found:");
Console.WriteLine("\t\t{0}", ad.Id );
Console.WriteLine("\t\t{0}", ad.VirtualPath );
Console.WriteLine("\t\t{0}", ad.PhysicalPath );
Console.WriteLine("\t\t{0}", ad.Idle);
}
}
}
}
}
Комментарии
Этот метод выгружает домен приложения и освобождает ссылки на все сборки, загруженные доменом приложения.
Операция выгрузки не будет завершена, пока потоки домена приложения не будут завершены.
Метод Unload завершает потоки в домене приложения, вызывая метод для System.Threading.Thread.Abort каждого потока. Хотя потоки должны быстро завершиться, они могут продолжать выполняться в течение непредсказуемого периода времени.