internal WebApplication( string name, string installationPath, bool supportsSecureConnections, InstallationStandardWebApplication configuration, string installationFullShortName, bool systemHasMultipleWebApplications) : this( name, installationPath, supportsSecureConnections, configuration.IisApplication, installationFullShortName, systemHasMultipleWebApplications, configuration.DefaultBaseUrl, configuration.DefaultCookieAttributes) { }
internal WebApplication( string name, string installationPath, bool supportsSecureConnections, InstallationStandardWebApplication configuration, string installationFullShortName, bool systemHasMultipleWebApplications) { Name = name; Path = EwlStatics.CombinePaths(installationPath, name); SupportsSecureConnections = supportsSecureConnections; IisApplication = configuration.IisApplication; var site = configuration.IisApplication as Site; var siteHostName = site?.HostNames.First(); var virtualDirectory = configuration.IisApplication as VirtualDirectory; if (virtualDirectory != null && virtualDirectory.Name == null) { virtualDirectory.Name = installationFullShortName + (systemHasMultipleWebApplications ? name.EnglishToPascal() : ""); } // We must pass values for all components since we will not have defaults to fall back on when getting the URL string for this object. DefaultBaseUrl = configuration.DefaultBaseUrl != null ? new BaseUrl( configuration.DefaultBaseUrl.Host, configuration.DefaultBaseUrl.NonsecurePortSpecified ? configuration.DefaultBaseUrl.NonsecurePort : 80, configuration.DefaultBaseUrl.SecurePortSpecified ? configuration.DefaultBaseUrl.SecurePort : 443, configuration.DefaultBaseUrl.Path ?? "") : site != null ? new BaseUrl( siteHostName.Name, siteHostName.NonsecurePortSpecified ? siteHostName.NonsecurePort : 80, siteHostName.SecureBinding != null && siteHostName.SecureBinding.PortSpecified ? siteHostName.SecureBinding.Port : 443, "") : new BaseUrl(virtualDirectory.Site, 80, 443, virtualDirectory.Name); DefaultCookieAttributes = configuration.DefaultCookieAttributes != null ? new DefaultCookieAttributes( configuration.DefaultCookieAttributes.Domain, configuration.DefaultCookieAttributes.Path, configuration.DefaultCookieAttributes.NamePrefix) : new DefaultCookieAttributes(null, null, null); }