public void Setup(Core.Sandbox sandbox) { if (string.IsNullOrWhiteSpace(Source) || !Directory.Exists(Source)) { throw new ArgumentNullException("Source", "a source is required for iis express"); } // copy the source to the sandbox location Destination = Path.Combine(sandbox.Location, "Web"); var destination = new DirectoryInfo(Destination); CopyAll(new DirectoryInfo(Source), destination); SetDestinationPermissions(new DirectoryInfo(sandbox.Location)); // create an applicationHost.config var site = IisExpress.AddSiteToApplicationHostConfig(string.Format("sandbox_{0}", sandbox.Id), Destination, Protocols); // create new IisExpress instance Instance = new IisExpress(site.Name); Instance.Start(); }
public void Dispose() { Instance.Dispose(); IisExpress.RemoveSiteFromApplicationHostConfig(Instance.Site.Name); }