Как я могу изменить параметры/свойства пула приложений IIS (C#)? Например, как изменить параметр «Включить 32-разрядные приложения»? Имеются ли ссылки на свойства для IIS 6 и IIS 7 на MSDN или Technet? Заранее благодарим за помощь!Пул приложений IIS: изменить настройки программные
5
A
ответ
1
Попробуйте this сверху для размера.
DirectoryEntry root = this.GetDirectoryEntry("IIS://" + this.DomainName + "/W3SVC/AppPools");
if (root == null)
return null;
List<ApplicationPool> Pools = new List<ApplicationPool>();
...
7
Вы можете решить эту проблему с помощью appcmd.exe. Где «DefaultAppPool» - это имя пула.
appcmd list apppool /xml "DefaultAppPool" | appcmd set apppool /in /enable32BitAppOnWin64:true
Если у вас есть какие-либо проблемы с запустив его с помощью C# посмотрите How To: Execute command line in C#.
ps: Дополнительную информацию о appcmd.exe вы можете найти here. По умолчанию расположение инструмента C: \ Windows \ system32 \ Inetsrv
0
Простейшее решение, которое работало для меня
ServerManager server = new ServerManager();
ApplicationPoolCollection applicationPools = server.ApplicationPools;
//this is my object where I put default settings I need,
//not necessary but better approach
DefaultApplicationPoolSettings defaultSettings = new DefaultApplicationPoolSettings();
foreach (ApplicationPool pool in applicationPools)
{
try
{
if (pool.Name == <Your pool name here>)
{
pool.ManagedPipelineMode = defaultSettings.managedPipelineMode;
pool.ManagedRuntimeVersion = defaultSettings.managedRuntimeVersion;
pool.Enable32BitAppOnWin64 = defaultSettings.enable32BitApplications;
pool.ProcessModel.IdentityType = defaultSettings.IdentityType;
pool.ProcessModel.LoadUserProfile = defaultSettings.loadUserProfile;
//Do not forget to commit changes
server.CommitChanges();
}
}
catch (Exception ex)
{
// log
}
}
и мой объект для примера цели
public class DefaultApplicationPoolSettings
{
public DefaultApplicationPoolSettings()
{
managedPipelineMode = ManagedPipelineMode.Integrated;
managedRuntimeVersion = "v4.0";
enable32BitApplications = true;
IdentityType = ProcessModelIdentityType.LocalSystem;
loadUserProfile = true;
}
public ManagedPipelineMode managedPipelineMode { get; set; }
public string managedRuntimeVersion { get; set; }
public bool enable32BitApplications { get; set; }
public ProcessModelIdentityType IdentityType { get; set;}
public bool loadUserProfile { get; set; }
}
Смежные вопросы
- 1. Пул приложений IIS PID
- 2. Пул приложений IIS
- 3. Пул приложений IIS и кэширование
- 4. Создать пул приложений IIS 6
- 5. Пул приложений IIS продолжает сбой
- 6. Пул приложений IIS, управление памятью
- 7. Как изменить пул приложений IIS 7 на удаленном сервере?
- 8. Пул приложений IIS и сборка мусора .NET
- 9. Quartz.net периодически перезаписывает пул приложений IIS
- 10. Почему пул приложений IIS не создан вообще?
- 11. Что заставляет пул приложений в IIS перерабатывать?
- 12. Пул приложений удален после сброса iis
- 13. IIS 6 - Пул приложений продолжает останавливаться
- 14. IIS 7.5 Приложения и пул приложений
- 15. Пул приложений IIS 6 несовместим автоматически отключен
- 16. Включить 32-битный пул приложений IIS C#
- 17. Не удалось удалить Пул приложений от IIS
- 18. как отладить пул приложений iis 7.5?
- 19. Пул приложений остановлен автоматически в IIS 7
- 20. Пул приложений IIS/перезагрузка и ASP.NET
- 21. Пул приложений IIS не при включении сервера?
- 22. MSDeploy, когда пул приложений IIS не работает
- 23. App Приостановить пул приложений IIS .Net 4.5.1
- 24. Как удаленно изменить настройки пула приложений IIS через PowerShell?
- 25. Может ли Web Deploy создать пул приложений и приложений IIS
- 26. Octopus Развертывание в пул IIS
- 27. Как изменить настройки доступа в IIS-7?
- 28. Пул приложений IIS7
- 29. Пул приложений выключая
- 30. Аварийный пул приложений IIS7
Кто знал, что вы могли бы использовать трубопровод !? Спасибо, это здорово. – Rory