2013-05-08 2 views
0

Вторая половина дня Все,Проверьте, обновлен ли внутренний веб-сайт.

Мне нужно создать веб-страницу, которая по сути представляет список моих веб-сайтов моих компаний. Мне по существу нужно проверить экран состояния, который отображается, если веб-приложение запущено и работает, или если оно не выполнено. Мне также нужно сделать то же самое для экземпляра базы данных, с которым он связан.

Мне нужна информация, чтобы помочь мне создать код VB на моем сайте ASP.net 2010, который завершит эту проверку для каждого веб-сайта для меня.

Я не уверен на 100%, как выполнить эту задачу, но думал, что смогу Ping назвать имя приложения или веб-сайт, на котором это расположено?

Я искал следующие site и образец кода для некоторого вдохновения, но я, кажется, не буду дальше.

Возможно ли, чтобы кто-то угодил советует лучший способ продвижения вперед и предложить что-то, что может помочь мне дальше?

Большое спасибо заранее. Betty

ответ

0

Я вижу, что вы использовали технологию. Net microsoft. И я думаю, что ваши сайты и приложения размещены с «IIS»?

Вы должны иметь возможность использовать класс «DirectoryEntry» и его многочисленные свойства. Вам может понравиться это, проверьте статус веб-сайта или веб-приложения, размещенного на «ISS», и проверьте состояние пула приложений.

пространство имен использовать: System.DirectoryServices (Доступно на C# & ASP)

Более подробная информация о "DirectoryEntry" и их свойства: DirectoryEntry Info

Что-то вроде этого:

//Get the webSite ID 
public static int GetWebsiteID(string websiteName) 
{ 
    string machineName = System.Environment.GetEnvironmentVariable("COMPUTERNAME"); 
    DirectoryEntry w3svc = new DirectoryEntry("IIS://"+machineName+"/w3svc"); 
    int id = 1; 
    foreach(DirectoryEntry de in w3svc.Children) 
    { 
      if(de.SchemaClassName == "IIsWebServer" && de.Properties["ServerComment"][0].ToString() == websiteName) 
      { 
       id = int.Parse(de.Name); 
      } 

    } 
    return id; 
} 

//Check statut of webSite 
public void checkStatutWebSite() 
{ 
    DirectoryEntry myWebSite = new DirectoryEntry(string.Format("IIS://" + machineName + "/w3svc/{0}/Root", GetWebsiteID("webSiteName"))); 
    ServerState state = (ServerState)Enum.Parse(typeof(ServerState), myWebSite.Properties["ServerState"].Value.ToString()) 
    if (state == ServerState.Stopped || state == ServerState.Paused) 
    { 
     //site is stopped 
    } 

} 

public enum ServerState 
{ 
    Unknown = 0, 
    Starting = 1, 
    Started = 2, 
    Stopping = 3, 
    Stopped = 4, 
    Pausing = 5, 
    Paused = 6, 
    Continuing = 7 
} 

Надеюсь, это поможет вам.

+0

Большое спасибо за вышесказанное. Да, мы используем IIS и посмотрим на System.DirectoryServices и посмотрим, могу ли я сделать это в VB. –

+0

добро пожаловать, с удовольствием. –

Смежные вопросы