Recycle IIS6.0 application pools from code
Works with IIS6.0 Windows Server 2003 SP1...
public
static void Recycle(string host, string poolname)
{
using
(DirectoryEntry apppool = new DirectoryEntry(string.Format("IIS://{0}/w3svc/apppools/{1}", host, poolname)))
{
apppool.Invoke("Recycle");
}
}

Read the complete post at http://sachatomey.spaces.live.com/Blog/cns!6084F9B2487AF9A5!150.entry