Share via


ApplicationDomain.Unload Methode

Definition

Entlädt die Anwendungsdomäne.

public:
 void Unload();
public void Unload ();
member this.Unload : unit -> unit
Public Sub Unload ()

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie sie alle Eigenschaften anzeigen und eine Anwendungsdomäne entladen.

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

Hinweise

Diese Methode entladen die Anwendungsdomäne und gibt Verweise auf alle Assemblys frei, die die Anwendungsdomäne geladen hat.

Der Entladevorgang ist erst abgeschlossen, wenn die Threads der Anwendungsdomäne beendet wurden.

Die Unload -Methode beendet die Threads in der Anwendungsdomäne, indem die System.Threading.Thread.Abort -Methode für jeden Thread aufgerufen wird. Obwohl die Threads sofort beendet werden sollten, können sie für einen unvorhersehbaren Zeitraum weiterhin ausgeführt werden.

Gilt für: