Aufrufen von ServiceBase.OnStart und OnStop ... dieselbe Instanz?

Ich habe also einen Windows-Dienst in c # geschrieben. Die Serviceklasse leitet sich ab vonServiceBaseStarten und Stoppen der Instanzmethoden für DienstaufrufeOnStart undOnStop beziehungsweise. Hier ist die SSCE der Klasse:

partial class CometService : ServiceBase
{
    private Server<Bla> server;
    private ManualResetEvent mre;
    public CometService()
    {
        InitializeComponent();
    }       
    protected override void OnStart(string[] args)
    {
        //starting the server takes a while, but we need to complete quickly
        //here so let's spin off a thread so we can return pronto.
        new Thread(() =>
        {
            try
            {
                server = new Server<Bla>();
            }
            finally
            {
                mre.Set()
            }
        })
        {
            IsBackground = false
        }.Start();
    }

    protected override void OnStop()
    {
        //ensure start logic is completed before continuing
        mre.WaitOne();
        server.Stop();
    }
}

Wie man sieht, gibt es eine Menge Logik, die das erfordert, wenn wir anrufenOnStop, wir haben es mit der gleichen Instanz von zu tunServiceBase als wir anriefenOnStart.

Kann ich sicher sein, dass dies der Fall ist?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage