ApplicationDomain.Unload Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Descarga el dominio de aplicación.
public:
void Unload();
public void Unload ();
member this.Unload : unit -> unit
Public Sub Unload ()
Ejemplos
En el ejemplo siguiente se muestra cómo ver todas las propiedades y descargar un dominio de aplicación.
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);
}
}
}
}
}
Comentarios
Este método descarga el dominio de aplicación y libera las referencias a los ensamblados que haya cargado el dominio de aplicación.
La operación de descarga no se completa hasta que se hayan terminado los subprocesos del dominio de aplicación.
El Unload método finaliza los subprocesos en el dominio de aplicación llamando al System.Threading.Thread.Abort método en cada subproceso. Aunque los subprocesos deben finalizar rápidamente, pueden seguir ejecutándose durante un período de tiempo imprevisible.