Ejemplo n.º 1
0
        protected virtual async Task <IISDeploymentResult> DeployAsync(DeploymentParameters parameters)
        {
            if (!parameters.EnvironmentVariables.ContainsKey(DebugEnvironmentVariable))
            {
                parameters.EnvironmentVariables[DebugEnvironmentVariable] = "4";
            }

            // Currently hosting throws if the Servertype = IIS.
            if (parameters.ServerType == ServerType.IIS)
            {
                _deployer = new IISDeployer(parameters, LoggerFactory);
            }
            else
            {
                _deployer = ApplicationDeployerFactory.Create(parameters, LoggerFactory);
            }

            var result = await _deployer.DeployAsync();

            return(new IISDeploymentResult(result, Logger));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Creates a deployer instance based on settings in <see cref="DeploymentParameters"/>.
        /// </summary>
        /// <param name="deploymentParameters"></param>
        /// <param name="loggerFactory"></param>
        /// <returns></returns>
        public static ApplicationDeployer Create(DeploymentParameters deploymentParameters, ILoggerFactory loggerFactory)
        {
            if (deploymentParameters == null)
            {
                throw new ArgumentNullException(nameof(deploymentParameters));
            }

            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }

            switch (deploymentParameters.ServerType)
            {
            case ServerType.IISExpress:
                return(new IIS.IISExpressDeployer(deploymentParameters, loggerFactory));

            case ServerType.IIS:
                return(new IISDeployer(deploymentParameters, loggerFactory));

            default:
                return(ApplicationDeployerFactory.Create(deploymentParameters, loggerFactory));
            }
        }