Пример #1
0
        protected IEnumerable <Application> GetAllApplications()
        {
            var site = _iisManager.GetIisSite(_environment.DefaultSiteName);

            var installations = GetInstallations().ToList();

            foreach (var app in site.IisApplications)
            {
                /* Skip apps that in different directory from Ac installation's folder in config */
                if (!app.Path.StartsWith(_environment.GlobalPath, StringComparison.OrdinalIgnoreCase))
                {
                    continue;
                }

                var acapp = new Application
                {
                    Name             = _fileWrapper.GetFileName(app.Path),
                    Uris             = app.Uris,
                    PhysicalPath     = app.Path,
                    Version          = app.Version,
                    InstallationName = installations.FirstOrDefault(i => _fileWrapper.GetParentPath(app.Path).Equals(i?.PhysicalPath, StringComparison.OrdinalIgnoreCase))?.Name
                };

                yield return(acapp);
            }
        }