Crearea de ferestre c # servicii (servicii)

Capitolul 1. Crearea unui serviciu este ușor

Servicii Windows (servicii Windows NT) - procese care au o interfață unificată pentru a interacționa cu sistemele de operare Windows NT. Serviciile sunt împărțite în două tipuri - servicii Win32, care interacționează cu sistemul de operare prin Service Control Manager (SCM) și drivere care operează utilizând protocolul driver device (denumit în continuare servicii Win32). Serviciile rulează în fundal, iar munca lor este ascunsă de utilizator. Din acest motiv, acestea sunt ideale pentru implementarea proceselor de server în arhitectura client-server, serviciile de rețea, programele de monitorizare și programele executate sporadic.







Pentru a crea un serviciu în VS.NET, trebuie:
Creați o soluție de serviciu de proiect folosind șablonul special pentru Visual C # Projects - Windows Service.
  • Scrieți codul funcției și codul evenimentului OnStart și OnStop.
  • Creați instalatori pentru acest serviciu (ProjectInstaller - pentru instalarea procesului și ServiceInstaller pentru serviciul de proiect sau servicii).
  • Creați un fișier executabil.
  • Creați un proiect de instalare.
  • Instalați și activați serviciul.

  • Punctul 1. Crearea unui proiect de servicii

    În meniul File VS .NET, selectați New și Project. În caseta de dialog New Project Tipuri de proiect, selectați Visual C # Proiecte, Template - servicii Windows, cere numele, de exemplu, MyFirstServicee, Locație - specifică directorul în cazul în care proiectul va genera.

    Fișierul AssemblyInfo.cs "sa mutat" în folderul Properties.

    Fig.1. Crearea unei soluții de serviciu de proiect

    În această etapă, suntem interesați de un fișier numit Service1.cs. Serviciu - numele clasei de proiect, succesorul clasei System.ServiceProcess.ServiceBase.

    Clasa conține constructorul de clasă, funcția principală și funcțiile metodelor OnStart și OnStop. Metodele OnPause () și OnContinue () pot fi, de asemenea, incluse în proiect (codul lor poate fi adăugat manual, dar metodele nu sunt obligatorii).

    În meniul contextual al formularului de designer (fila Project Service1.cs [design], faceți clic dreapta), selectați Properties articol a (dacă fila nu este vizibil - dublu-clic pe mouse-ul pe numele fișierului în Servece1.cs Solutation Explorer). Setați proprietățile (Fig.2):
    - Numele serviciului (numele proiectului) - MyFirstService,
    - AutoLog - Adevărat.

    Fig.2. Setarea proprietăților serviciului

    Aici puteți modifica numele afișat al serviciului (proprietatea ServiceName).

    Pe acest proiect este creată soluția de serviciu.

    Punctul 2. Scrierea unui cod al funcției de serviciu

    Pentru a ne asigura că serviciul nostru funcționează, îi vom atribui sarcina de a scrie unele informații la un fișier de jurnal la pornire și oprire. Pentru a face acest lucru:
    Să adăugăm un spațiu de nume:
  • Declarăm în clasa Service1 StreamWriter:
  • Codurile pentru persoanele care manipulează evenimente sunt scrise după cum urmează:

    Mai târziu vom adăuga o nouă funcționalitate serviciului nostru.

    Paragraful 3. Crearea de instalatori pentru serviciu

    În fila Service1.cs [Design], sunăm din nou meniul contextual și elementul Add Instaler. O clasă de componente care conține doi instalatori este adăugată la proiect:
    - ProjectInstaller - pentru a instala serviciul și
    - ServiceInstaller - pentru a seta procesul asociat serviciului.

    Pentru ServiceInstaller1 afișăm proprietățile sale (meniul contextual Properties) și setăm:
    - ServiceName - MyFirstService,
    - ServerType - Automati c.

    Pentru ServiceProcessInstaller1, setați valoarea Contului în LocalSystem (Fig.3).

    Figura 3. Crearea unui instalator pentru un serviciu

    Punctul 4. Crearea unui fișier executabil pentru serviciu

    În Solution Explorer, selectați Proprietăți pentru nodul MyFirstServices. În caseta de dialog, selectați fila Aplicație. Pentru obiectul Startup, selectați lista derulantă MyFirstService.Programm (Fig.4).







    Figura 4. Setarea proprietăților pentru programul de instalare

    În meniul contextual al nodului MyFirstServices, selectați Build. După aceea, proiectul este construit și fișierul MyFirstService.exe va fi creat în directorul proiectului obj \ debug sau obj \ release. Cu toate acestea, încercarea de pornire va avea ca rezultat un mesaj (figura 5):

    Figura 5. Trebuie să instalați serviciul

    Punctul 5. Crearea unui proiect de instalare pentru serviciu

    În meniul Fișier, faceți clic pe Adăugați proiect și Proiect nou. În caseta de dialog Adăugați un proiect din fereastra Tipuri de proiect, selectați fila Alte tipuri de proiecte din figura de instalare și implementare, în fereastra Șabloane - configurare proiect, setați Numele și locația - ambii parametri nu sunt importanți (Fig.6).

    Figura 6. Adăugarea unui proiect de soluție de instalare a serviciului

    Proiectul de instalare este adăugat la soluție și îl vedem în Solutation Explorer.

    În plus, în fila File System (FirstServices) putem vedea ansamblul de fișiere pentru instalarea "File System on Target Machine" (Fig.7).

    Figura 7. Crearea unui proiect de soluție de instalare a serviciului

    Următorul lucru pe care trebuie să-l faceți este să definiți un director pentru instalarea serviciului Windows.

    Selectați sistemul nod de fișiere pe țintă mașină (dacă pentru orice motiv, noi nu vedem copacul de dosare, îl puteți afișa prin intermediul context nodul FirstServices meniu, faceți clic pe Vizualizare Ia / File System), în meniul contextual, selectați Adăugați un dosar special, și System Folder. Numele sistemului Folder a apărut în ramura sistemului de fișiere de pe nodul țintă al mașinii.

    În meniul contextual al dosarului de sistem, selectați Adăugați, Ieșire proiect \ Ieșire primară (Fig.8).

    Figura 8. Definiți directorul serviciului

    Selectați elementul Vizualizare pentru nodul FirstServices al elementului Action Custom și patru acțiuni implicite pentru instalator vor apărea în partea stângă a ferestrei: Install, Commit, Rollback și Uninstall. Pentru instalare și dezinstalare, faceți clic pe meniul contextual din meniul Adăugați acțiunea personalizată și specificați folderul de sistem (Figura 9).

    Figura 9. Determinarea acțiunilor instalatorului

    În practică, am determinat nu numai acțiunea, ci și obiectul acestei acțiuni - ieșirea primară de la MyFirstService (activă). În aceste noduri de acțiuni ale utilizatorului (Install and Uninstall), va fi adăugat fișierul principal de ieșire al proiectului. În proprietățile pe care le puteți schimba pentru fișierul CustomInstaller, valoarea adevărată indică instalatorului că este folosit clasa de instalare (Fig.10).

    Figura 10. Determinarea acțiunilor instalatorului

    Acum puteți construi un proiect de instalare prin apelarea Build pentru nodul FirstServices în Soluta Explorer.

    Punctul 6. Instalarea, activarea și eliminarea serviciului

    Pentru a instala serviciul în Solutation Explorer, selectați proiectul de instalare (FirstServices) și faceți clic pe Install din meniul contextual. Ca urmare, va fi lansat Expertul de configurare. În al doilea pas al funcționării sale, am setat folderul de sistem Windows - C: \ WINDOWS \ system32 \. După terminarea Expertului de configurare, serviciul va fi instalat.

    Pentru a porni și a opri serviciul, deschideți Managerul de control al serviciului (în Windows XP - Start / Program / Instrumente administrative / Servicii). Numele MyFirstService nostru de serviciu va apărea în fereastra Services, și în modul obișnuit de a începe serviciul nostru prin elementul de meniu contextual de pornire (în plus, serviciul va porni automat atunci când computerul este supraîncărcată).

    Serviciul nostru (serviciu) a creat fișierul Service1.log din "C: \ windows \ System32 \" și a executat o înregistrare a începutului său, când serviciul este oprit, înregistrarea va fi executată din nou.

    Serviciul poate fi instalat și îndepărtat prin utilizarea fișierelor setup.exe și FirstServices.msi, că, după construirea programului de instalare în directorul în care proiectul a fost creat de către programul de instalare în acest exemplu, C: \. \ FirstService \ Debug \ și, în plus, aceste două fișiere sunt suficiente pentru a instala serviciul din orice director al oricărui computer.

    În acest stadiu, am finalizat toți pașii necesari și am verificat serviciul nostru la locul de muncă. Apoi, puteți crea un proiect în modul Release (Build, Configuration Manager, Release). setup.exe și FirstServices.msi, după ce programul de instalare este construit, va fi localizat în directorul C: \. \ FirstServices \ bin \ Release). În plus, este posibilă umplerea funcționalității serviciului la discreția sa.

    Îndepărtarea serviciului de pe computer este similară cu aplicația Windows obișnuită - (Setări / Panou de control / Adăugare pe Eliminare programe).

    Punctul 7. Un exemplu de utilizare a serviciului, pentru efectuarea periodică a unor acțiuni

    Pentru a seta un simplu mecanism de sondare, puteți utiliza componenta System.Timers.Timer. În metoda OnStart, puteți specifica parametrii pentru componentă. Cronometrul va efectua periodic unele acțiuni în cod (de exemplu, scrierea fișierului de timp curent, după cum se arată mai jos). Codul tocmai a adăugat componenta Timer și dispozitivul de tratare a evenimentului, care efectuează anumite acțiuni după ce sa specificat ora temporizatorului1.Interval.

    Conținutul fișierului Service1.log:

    Dacă ați venit de la un motor de căutare - vizitați pagina mea de pornire

    Pe pagina principală veți găsi program complex Veles - pentru automobiliștii, programe din secțiunea program - program pentru lucrul cu fotografii realizate cu un aparat de fotografiat digital, cărămizi de program - o jucărie pentru copii și adulți, notebook-ul de program, program de TellMe - frazeologic Talking Engleză-Rusă - Program pentru cei care urmează să rămână în spatele dealului sau pentru a-și îmbunătăți cunoștințele în limba engleză, materiale teoretice privind programarea în Borland C ++ Builder, C # (aplicații Windows și site-uri web ASP.Net).

    Realizat de uCoz







    Articole similare

    Trimiteți-le prietenilor: