15 tammikuun, 2022

luodaan Windows-palvelu VB.NET

ympäristö:. Net, Visual Basic

Johdanto

haluat kirjoittaa sovelluksen, joka seuraa jatkuvasti joitain tiedostoja, luo lokin tai mitä tahansa ja joka pyörii jatkuvasti taustalla koneen ollessa kiireinen tehdessään jotain muuta. Paras tapa tehdä tämä oli ajaa Windows-sovellus jatkuvasti tai säännöllisin väliajoin käyttämällä Windows scheduler. Mutta oli yksi suuri haitta: jonkun piti kirjautua järjestelmään käynnistääkseen tämän sovelluksen.

tämä ei ole enää ongelma, koska paras tapa tehdä kaikki tämä on luoda Windows-palvelu Windows 2000/Windows NT: lle.

mikä on Windows-palvelu (aiemmin NT-palvelu)?

Windows-palvelun ydintehtävä on ajaa sovellus taustalla. Muutamia asioita, jotka tekevät niistä erilaisia Windows-sovellus on, että Windows-palvelu alkaa ennen käyttäjän kirjautuu järjestelmään (jos se on määritetty käynnistymään käynnistyksen yhteydessä). Palvelu voidaan perustaa siten, että se vaatii käyttäjän käynnistämään sen manuaalisesti.

myös Windows-palvelulla on oma prosessinsa; siksi se toimii erittäin tehokkaasti. Normaalisti Windows-palvelulla ei ole käyttöliittymää siitä yksinkertaisesta syystä, että se voidaan suorittaa, vaikka kukaan ei olisi kirjautunut järjestelmään. Tämä ei ole sääntö; voit silti olla Windows-palvelu, jossa on käyttöliittymä.

Windows 2000: ssa voit tarkastella kaikkia tietokoneella käynnissä olevia palveluita avaamalla Ohjauspaneelin, hallintatyökalut ja valitsemalla sitten Palvelut.

Windows-palvelun luominen VB.NET

ennen VB: tä.NET, luominen Windows-palvelu oli paljon työtä. Sinun piti käyttää jotain järjestelmätason menettelyä, joka ei ollut kovin helppo, mutta kiitos VB.NET tästä on tullut hyvin helppoa. Opettelemme nyt luomaan Windows-palvelun.

kannattaa tietää muutama asia ennen kuin sukelletaan. Windows-palvelu ei ole saatavilla Windows 95: ssä, 98: ssa tai ME: ssä. Palveluiden suorittamiseen tarvitaan Windows NT tai Windows 2000.

. Net: n käytön etuna on, että kehys sisältää kaikki luokat. Tämä auttaa meitä luomaan, asentamaan ja hallitsemaan Windows-palvelua.

avaa Visual studiosi .NET, Luo uusi Windows – palvelu projekti, jota kutsumme MyService, ja valitse sitten OK.

lisää ajastimen ohjaus työkaluriviltä komponentit-välilehdessä. Timer1: n ominaisuudet-ikkunassa Vaihda Intervalliominaisuus arvoon 10000, joka on 10 Sekuntia.

lähdekoodi

kaksoisnapsauta Timer1-ohjainta avataksesi koodi-ikkunan Timer1_elapsedille ja kirjoita seuraava koodi. (Tämä koodi suoritetaan 10 sekunnin välein.)

 Dim MyLog As New EventLog() ' create a new event log ' Check if the the Event Log Exists If Not MyLog.SourceExists("MyService") Then MyLog.CreateEventSource("MyService", "Myservice Log") ' Create Log End If MyLog.Source = "MyService" ' Write to the Log MyLog.WriteEntry("MyService Log", "This is log on " & _ CStr(TimeOfDay), _ EventLogEntryType.Information)

kirjoita seuraava koodi OnStart-menettelyyn. (Tätä menettelyä kutsutaan, kun käynnistät palvelun, joka mahdollistaa ajastimen.)

 Timer1.Enabled = True

ja kirjoita seuraava koodi OnStop-menettelyyn. (Tätä menettelyä kutsutaan, kun pysäytät palvelun, joka poistaa ajastimen käytöstä.)

 Timer1.Enabled = False

hakemuksemme on nyt valmis, mutta muutama asia on vielä tehtävä ennen kuin edetään. Kun rakennamme tämän sovelluksen, luotu suoritettava ohjelma ei ole Windows-sovellus; siksi et voi vain napsauttaa ja suorittaa sitä. Se on asennettava palveluna, mutta älä huoli; meidän ei tarvitse tehdä sitä manuaalisesti. VB.Netillä on mahdollisuus lisätä asennusohjelma ohjelmaamme ja sitten käyttää apuohjelmaa palvelun asentamiseen.

asentajan lisääminen projektiin

avaa Palvelu1.VB suunnittelu ikkuna ja hiiren kakkospainikkeella ja valitse Lisää asennusohjelma vaihtoehto. Tämä lisää asennusprojektin, Projectinstallerin.vb, kaksi valvontaa, ServiceProcessInstaller1 ja ServiceInstaller1, meidän nykyinen projekti.

valitse ServiceInstaller1-ohjaus ja avaa ominaisuusikkuna. Muuta palvelun nimi ja DisplayName ominaisuudet myservice-palveluksi. (Tämä on nimi, jonka haluat näkyvän palvelujen luettelossa palvelut windows.)

valitse ServiceProcessInstaller1-ohjaus ja avaa ominaisuusikkuna. Muuta tilin ominaisuus LocalSystem. (Tämä on täsmennettävä, koska meidän täytyy käyttää tätä paikallisella koneella.)

nyt on aika rakentaa sovellus ja luoda suoritustiedosto. Valitse Build Solution Build-valikosta luodaksesi suoritustiedoston, jossa on palvelun asennusohjeet.

palvelun asentaminen

tämän palvelun asentamiseen tarvitaan InstallUtil-ohjelma, joka on. NET-apuohjelma, Windows-palvelun asentamiseen. Löydät tämän kansiosta C:\WINNT\Microsoft.NET\Framework\v1.0.3705. (tämä saattaa olla erilainen tietokoneellasi riippuen käyttämästäsi versiosta.)

Vaihtoehtoisesti voit suorittaa. Net-komentoikkunan valitsemalla Käynnistä, Ohjelmat, Microsoft Visual Studio.Net, Visual Studio. net Tools, Visual Studio. Net-komentokehote. Tämä asettaa kaikki tarvittavat polut sinulle.

kirjoita seuraava komento tähän ikkunaan: InstallUtil C:\tgol\Myservice\Bin\Myservice.exe. (Tämä on polku suoritettavan palvelun juuri luotu. Muista, VB.NET luotu suoritettava tiedosto Projektikansion alla olevaan Bin-kansioon. Varmista, että vaihdat tämän suoritettavaan polkuusi.) Katso viesti ja kirjaudu varmista, että palvelu on asennettu oikein.

palvelun aloittaminen

palvelun suorittaminen ja palvelun aloittaminen ovat kaksi eri asiaa. Kun asennamme palvelun Installutililla, suoritamme palvelua nyt, mutta emme ole vielä käynnistäneet sitä. Jos haluat tarkastella ja käynnistää palvelun, avaa Ohjauspaneeli. Avaa hallintatyökalut, valitse palvelut, Etsi MyService ja napsauta hiiren kakkospainikkeella ja valitse Käynnistä.

nyt palvelumme on alkanut. Avaa Tapahtumienvalvonta hallintatyökaluista ja napsauta Sovelluslokia nähdäksesi palvelun (MyService) luomat lokit 10 sekunnin välein. (Jos et näe lokeja, napsauta Päivitä . Sinun täytyy pitää virkistävä nähdä uusimmat tapahtumalokit.

palvelun pysäyttäminen

avaa Ohjauspaneeli, avaa hallintatyökalut, valitse Palvelut, napsauta hiiren kakkospainikkeella MyService ja valitse Stop pysäyttääksesi palvelun.

palvelun poistaminen

tämä menettely on samanlainen kuin palvelun asentaminen, mutta nyt suoritamme InstallUtil with / U-parametrin, joka poistaa palvelun:

InstallUtil / U C:\tgol\Myservice\Bin\Myservice.exe (tai suoritettava polku tietokoneessa). Katso viesti vahvistaaksesi, että palvelu on poistettu oikein.

Tips

  • Pysäytä palvelu ja sulje Palveluikkuna ennen kuin asennat/poistat palvelun.
  • poista/asenna aina, jos teet palvelusovellukseen muutoksia.
  • yritä välttää käyttöliittymää, syötteitä ja msgboxia Palvelusovelluksessa.
  • Open ProjectInstaller.vb, valitse ServiceInstaller1 control ja avaa omaisuusikkuna. Muuta starttype-ominaisuus automaattiseksi, jos haluat käynnistää palvelun automaattisesti.

johtopäätös

Windows-palvelu jää usein huomiotta. Käytä Windows-palvelua tavallisen sovelluksen sijaan, kun joudut seuraamaan tai hallinnoimaan jotain taustalla. Ainoa haitta on asennus menettely, mutta lyön vetoa on enemmän positiivisia näkökohtia sitten negatiivinen valittaessa Windows-palvelu yli sovellusten Windows Scheduler.

Vastaa

Sähköpostiosoitettasi ei julkaista.