У меня есть сервер IIS 6, и мне нужно переработать конкретный пул приложений. Мне нужно создать веб-страницу ASP.NET с помощью C#, которая выполняет эту задачу.Как переработать пул приложений в IIS 6 через ASP.Net и C#?
Как я могу это сделать?
У меня есть сервер IIS 6, и мне нужно переработать конкретный пул приложений. Мне нужно создать веб-страницу ASP.NET с помощью C#, которая выполняет эту задачу.Как переработать пул приложений в IIS 6 через ASP.Net и C#?
Как я могу это сделать?
Вы можете использовать DirectoryEntry класс программно перерабатывает пул приложений получили свое название:
var path = "IIS://localhost/W3SVC/AppPools/MyAppPool";
var appPool = new DirectoryEntry(path);
appPool.Invoke("Recycle");
Следующие должен (я не могу подтвердить, что, как код не используется в некоторое время) хватай:
using System;
using System.Collections.Generic;
using System.Web;
using System.DirectoryServices;
public static class ApplicationPoolRecycle
{
public static void RecycleCurrentApplicationPool()
{
string appPoolId = GetCurrentApplicationPoolId();
RecycleApplicationPool(appPoolId);
}
private static string GetCurrentApplicationPoolId()
{
string virtualDirPath = AppDomain.CurrentDomain.FriendlyName;
virtualDirPath = virtualDirPath.Substring(4);
int index = virtualDirPath.Length + 1;
index = virtualDirPath.LastIndexOf("-", index - 1, index - 1);
index = virtualDirPath.LastIndexOf("-", index - 1, index - 1);
virtualDirPath = "IIS://localhost/" + virtualDirPath.Remove(index);
DirectoryEntry virtualDirEntry = new DirectoryEntry(virtualDirPath);
return virtualDirEntry.Properties["AppPoolId"].Value.ToString();
}
private static void RecycleApplicationPool(string appPoolId)
{
string appPoolPath = "IIS://localhost/W3SVC/AppPools/" + appPoolId;
DirectoryEntry appPoolEntry = new DirectoryEntry(appPoolPath);
appPoolEntry.Invoke("Recycle");
}
}
просто сделать отделенный веб-страницы/веб-приложение и установить его на веб-сервере таргетинга другой пул приложений (не знаю, как это будет работать, если работает так же страницу вашего приложения и быть связаны с тот же пул приложений, который вы хотите переработать).
затем следуйте инструкциям здесь: https://stackoverflow.com/a/496357/559144
Я с помощью этого метода.
HttpRuntime.UnloadAppDomain()
Как я могу разработать в ASPX форме ?? – Riyaju
@Riyaju - вам просто нужна страница, которая вызывает 'ApplicationPoolRecycle.RecycleCurrentApplicationPool()' либо в результате вызова страницы (т. Е. В 'Page_Load'), либо в результате нажатия на кнопку (то есть' myButton_Click') – Rob