public override string Start() { PhysicalDirectory.Refresh(); if (!PhysicalDirectory.Exists) { throw new DirectoryNotFoundException(PhysicalDirectory.FullName); } SetUserPermission(Users, PhysicalDirectory); _settings = new WebServerSettings(); _settings.RootPhysicalPath = PhysicalDirectory.FullName; using (var server = new WebServerIIS(_settings)) { server.Start(); var application = server.DefaultWebSite.Applications.Add("/" + VirtualPath, PhysicalDirectory.FullName); server.ServerManager.CommitChanges(); Thread.Sleep(IISDelay); return server.DefaultWebSite.GetHttpVirtualPath() + application.Path; } }
public override void Stop() { using (var server = new WebServerIIS(_settings)) { var app = server.DefaultWebSite.Applications.FirstOrDefault(a => a.Path == "/" + VirtualPath); if (app != null) { server.DefaultWebSite.Applications.Remove(app); server.ServerManager.CommitChanges(); } server.Stop(); } if (RemoveSiteWhenStop) { PhysicalDirectory.Delete(true); } }
public override string Start() { PhysicalDirectory.Refresh(); if (!PhysicalDirectory.Exists) { throw new DirectoryNotFoundException(PhysicalDirectory.FullName); } SetUserPermission(Users, PhysicalDirectory); _settings = new WebServerSettings(); _settings.RootPhysicalPath = PhysicalDirectory.FullName; using (var server = new WebServerIIS(_settings)) { server.Start(); var application = server.DefaultWebSite.Applications.Add("/" + VirtualPath, PhysicalDirectory.FullName); server.ServerManager.CommitChanges(); Thread.Sleep(IISDelay); return(server.DefaultWebSite.GetHttpVirtualPath() + application.Path); } }