Avatar billede Slettet bruger
11. december 2007 - 09:40 Der er 21 kommentarer og
1 løsning

Windows services - Kort forklaring søges

Hej eksperter,

Kan I ikke lige sende nogle links til artikler, der forklarer, hvad Windows services helt præcist er, og hvad de bruges til?

Tak!
Avatar billede ladyhawke Novice
11. december 2007 - 09:49 #1
Avatar billede arne_v Ekspert
11. december 2007 - 15:05 #2
Den meget korte forklaring er at en windows service et et program der koerer hele tiden
i baggrunden.

Inkluderer bl.a. web servere og database servere.
Avatar billede Slettet bruger
11. december 2007 - 17:15 #3
Okay, jeg takker.
Dog kan jeg se, at jeg bliver nødt til at være lidt mere specifik...

Hvordan startes en service?
Tager services hårdt på computerens ydeevne?
Hvad bruger man ofte services til?

Sådan :)
Avatar billede Syska Mester
11. december 2007 - 17:35 #4
1)
Control Panel -> Administraotion Tools -> Services

2)
Kommer helt an på hvad Servicen skal lave ...

3)
A Windows service is a long-running executable that performs specific functions and which is designed not to require user intervention. Usually, Windows services start when the Microsoft Windows operating system is booted and run in the background as long as Windows is running. They are similar in concept to a Unix daemon.
Avatar billede Syska Mester
11. december 2007 - 17:36 #5
tillæg til 3.

Se på alle de services som allerede er i en normal MS pc ... der er mange og de laver forskellige ting ....
Avatar billede arne_v Ekspert
11. december 2007 - 17:48 #6
nogle services starter automatisk ved boot andre kan startes manuelt

for os der burde vaere uddoede sammen med dinosauerne kan man ogsaa bruge:
  net start xxxx
  net stop xxxx
i en kommando prompt til at starte og stoppe med
Avatar billede Slettet bruger
11. december 2007 - 19:52 #7
Okay, tak igen.

1)
Control Panel -> Administraotion Tools -> Service

Det var ikke lige det, jeg mente... Vi er trods alt under C#, så jeg spurgte med henblik på, hvordan en sådan applikation starter en service?
Avatar billede arne_v Ekspert
11. december 2007 - 19:55 #8
Avatar billede ladyhawke Novice
11. december 2007 - 20:09 #9
med risiko for at du igen vrager mit svar:
http://arcanecode.wordpress.com/2007/05/21/windows-services-in-c-getting-started-part-1/ (der er flere dele af artiklen, men det kan du nok finde via den første del)
Avatar billede Slettet bruger
11. december 2007 - 20:44 #10
Ja, det er lige dét, jeg mangler :)
arne_v, jeg antager, at du også vil have points (ellers hacker du godt med den score), så bare smid et svar :P
Denne gang skal jeg nok lade være at vrage dig, ladyhawke :o)
Avatar billede Slettet bruger
11. december 2007 - 21:06 #11
Hov... Når jeg følger guidenhttp://arcanecode.wordpress.com/2007/05/21/windows-services-in-c-getting-started-part-1/ , skal jeg oprette et nyt projekt af typen Windows => Windows Service - men den er ikke på min liste (der kun indeholder 6 emner)!
Hvordan får jeg adgang til denne template?
Avatar billede arne_v Ekspert
11. december 2007 - 21:07 #12
bare giv dem til ladyhawke
Avatar billede ladyhawke Novice
11. december 2007 - 21:09 #13
det er nu ikke fordi du ikke må vrage svaret, men blot at der ikke fulgte en forklaring med, det opfyldte umiddelbart dit første spørgsmål...
Avatar billede arne_v Ekspert
11. december 2007 - 21:11 #14
Du har den ikke som beskrevet:

To get started, open Visual Studio and select new project. Windows Service won’t appear in the top level list of Visual C# items, instead you’ll need to drill down and in the tree under Visual C# select Windows. Now you should see “Windows Service” appear in the list of templates.

?

Bruger du Express Edition ?

Man kan godt lave en service uden den template. Man skal bare selv taste lidt mere.

Jeg kan evt. godt grave et eksempel frem. Senere.
Avatar billede Slettet bruger
11. december 2007 - 21:12 #15
Okay og forstået :P
Dit første svar vare bare noget kortfattet og udækkende... Men jeg skulle jo nok bare have været mere specifik fra starten.
Avatar billede Slettet bruger
11. december 2007 - 21:13 #16
Så det er fordi, jeg kører med Express Edition? Træls. Men pyt, så længe det er muligt!
... jeg vil jo nok alligevel skrive så meget som muligt fra bunden - for at lære skidtet.

>>
Jeg kan evt. godt grave et eksempel frem. Senere.

Jo tak :D
Avatar billede ladyhawke Novice
11. december 2007 - 21:14 #17
bare du får den information du skal bruge :o) og husk! Onkel Google er din ven...
Avatar billede Slettet bruger
11. december 2007 - 21:57 #18
Yir!
Avatar billede arne_v Ekspert
12. december 2007 - 01:25 #19
Her kommer min service.

Det er en lilel test service som kører i baggrunden og når man connecter til port 1234 sender
den en email.
Avatar billede arne_v Ekspert
12. december 2007 - 01:25 #20
using System;
using System.ComponentModel;
using System.ServiceProcess;
using System.Threading;
using System.Net;
using System.Net.Sockets;
using System.Net.Mail;

namespace E
{
    public class TestService : ServiceBase
    {
        public const string TestServiceName = "TestService";
       
        public TestService()
        {
            InitializeComponent();
        }
       
        private void InitializeComponent()
        {
            this.ServiceName = TestServiceName;
        }
       
        protected override void Dispose(bool disposing)
        {
            base.Dispose(disposing);
        }
       
        private Thread t;
       
        protected override void OnStart(string[] args)
        {
            t = new Thread(new ThreadStart(Mailer.Run));
            t.Start();
        }
       
        protected override void OnStop()
        {
            t.Abort();
            t.Join();
        }
    }
    public class Mailer
    {
        public static void Run()
        {
            TcpListener list = new TcpListener(IPAddress.Any, 1234);
            list.Start();
            try
            {
                while(true)
                {
                    if(list.Pending())
                    {
                        TcpClient cli = list.AcceptTcpClient();
                        SmtpClient Server = new SmtpClient("arne");
                        MailMessage Mailer = new MailMessage();
                        Mailer.From = new MailAddress("arne@arne");
                        Mailer.To.Add(new MailAddress("arne@arne"));
                        Mailer.Subject = "Test";
                        Mailer.Body = "Dette er en test";
                        Server.Send(Mailer);
                        cli.Close();
                    }
                    else
                    {
                        Thread.Sleep(100);
                    }
                }
            }
            catch(Exception ex)
            {
                list.Stop();
            }
        }
    }
}
Avatar billede arne_v Ekspert
12. december 2007 - 01:25 #21
using System;
using System.ServiceProcess;

namespace E
{
    public static class Program
    {
        public static void Main()
        {
            ServiceBase.Run(new ServiceBase[] { new TestService() });
        }
    }
}
Avatar billede Slettet bruger
12. december 2007 - 15:15 #22
Okay, takker :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester