25. juni 2007 - 23:36Der er
28 kommentarer og 1 løsning
kontrollere om service køre med ASP
Den gode og tålmodige mand thesurfer mener at det ikke kan lade sig gøre og kontrollere om en service køre på en server.
Her kommer min case.
Jeg har lige nu, med STOR hjælpe fra thesurfer, lavet et script der kigger på en www adresse om en given fil findes for at på den måde kunne poste på en hjemmeside om en server er oppe.
Jeg vil helst gerne have at der bliver kigget om en given service køre fx. den service der trækker IIS, for køre den service ikke ja så er status at webserveren ikke er tilgængelig.
Det må da også være en mere brugbar metode jeg vil bruge, fx. hvis et webhotel skal bruge den metode med at kigge efter en fil på en adresse så skal de jo have et site de har kontrol over på alle deres servere, frem for at skulle nøjes med at lave et script der kontrollere om en given service køre.
Håber det er til at forstå hvad jeg mener og at der er nogen der vil hjælpe mig med at bevise at det kan lade sig gøre.
Det skal lige siges at jeg hoster mine egne webservere så scriptet skal ikke "bore" i en webserver man ikke har lov til at lege med og kan gøre skade på som har indvirkning på andre.
Mine servere står lokalt hos mig og jeg har fuld kontrol over dem.
Af erfaring kan jeg så sige at det ikke nødvendigvis altid er nok at se om servicen kører - forestil jer at databasen er nede så ens hjemmeside ikke funker, men IIS'en kører højst sandsynligt stadigvæk? Så kan man selvfølgelig også tjekke på om databasen kører - men hvad så hvis en anden del af applikationen fejler?
... bare lige et input om at flaskehalsen kan ligge flere steder :)
if fnIsServiceRunningVB() then response.write "jaaaa...service kører...!" else response.write "Øv! kører ikke, men så kan du jo heller ikke se denne side, så denne linie er ligegyldig..." end if
enten virker funktionen ikke eller også er der noget jeg ikke har gjort rigtigt for det er i hvert fald denne her linje der bliver postet "Øv! kører ikke, men så kan du jo heller ikke se denne side, så denne linie er ligegyldig..."
Min umiddelbare tanker er at det kan man ikke... Jeg vil anbefale at du sætter en webservice op, eller somænd blot et website, på de servere der skal kontrolleres og tjekker om det er tilgængelige.
Ret funktionen til: function fnIsServiceRunningVB() dim objShell dim bReturn
set objShell = CreateObject("Shell.Application") bReturn = objShell.IsServiceRunning("IISADMIN") set objShell = nothing fnIsServiceRunningVB = bReturn end function
Ja. Mit bud er at du ikke kan tjekke om en anden servers IIS kører. Den eneste måde at gøre det på er ved at lave et script på den server hvor IIS skal tjekkes. F.eks. et website/webservice et eller andet du kan tjekke op imod.
Jeg har fået svar på mit spørgsmål, tak for hjælpen cpufan.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.