public async Task <TaskResult> RunAsync() { using (var iis = new IISTools(Context)) { await iis.ApplicationPool.StartAsync(Configuration.AppPoolName, TimeSpan.FromMinutes(1)); } return(TaskResult.Ok()); }
public async Task RunAsync(CancellationToken token) { // Get the versioned application path var appRev = await Context.Applications.GetApplicationRevision(Configuration.Apps.Web.AppName); if (appRev == null) { throw new ApplicationException($"Application revision directory not found for app '{Configuration.Apps.Web.AppName}' revision '{Context.DeploymentNumber}'!"); } using (var iis = new IISTools(Context)) { await iis.ApplicationPool.ConfigureAsync(Configuration.AppPoolName, pool => { // Configure AppPool pool.ManagedPipelineMode = ManagedPipelineMode.Integrated; pool.ManagedRuntimeVersion = "v4.0"; pool.AutoStart = true; // Start Website if (pool.State == ObjectState.Stopped) { pool.Start(); } }, token); await iis.WebSite.ConfigureAsync("Photon Web", 8086, site => { // Configure Website site.ApplicationDefaults.ApplicationPoolName = Configuration.AppPoolName; site.ServerAutoStart = true; // Set Bindings site.Bindings.Clear(); site.Bindings.Add("*:8086:localhost", "http"); // Update Virtual Path site.Applications[0] .VirtualDirectories["/"] .PhysicalPath = appRev.ApplicationPath; // Start Website if (site.State == ObjectState.Stopped) { site.Start(); } }, token); } }