Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Windows Services shutdown order

1 view
Skip to first unread message

Bill Sonia

unread,
Oct 20, 2003, 1:11:15 PM10/20/03
to
I've written a Windows Service to send e-mails on events like OnStart,
OnStop, OnShutDown using System.Web.Mail. It works for everything but
OnShutdown. My guess is that for OnShutDown, once my send mail code is
executed, other necessary Windows Services have been terminated before
it can actually send the mail. I've updated my
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services registry
DependOnService value including SMPTSVC and others. My hope is that the
services will shut-down in reverse order from start-up; I haven't had
any luck with this.

My Questions:
Do Windows Services (Windows 2000) shutdown in the reverse order from
which they start-up?

If so, any idea's as to which service I should include as a dependency?

If not, is there anyway I can ensure my Windows Service is
the first to shutdown?

Thanks,

~Bill

________________________
Bill Sonia
Achaia Solutions, Inc
www.achaiasolutions.com

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!

Richard

unread,
Oct 20, 2003, 2:33:59 PM10/20/03
to
Hmmm,

Dunno about shutdown order - last service I wrote was for
NT 4.0 in C++. Are you sure you're getting notified when
you shutudown? What does the
ServiceController.CanShutdown property return?

--Richard

>.
>

Jeffrey Tan[MSFT]

unread,
Oct 21, 2003, 9:08:08 AM10/21/03
to

Hi Bill,

I think your stmp server is on the same machine as your windows service.
If you use the smtp server on other machine, all will go well.(I have tried
this)

I think you can make 2 service, A depends on B, all write log to the Event
Log in ShutDown event. Then you can check the log order in the Event Viewer
if the dependency applies on shutting down.

Because sending mail through smtp is a long time process, I think even if
your dependency take effect the sending process may fail.
So I think you should use the smtp on other machine.

Hope this helps,

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

--------------------
| From: Bill Sonia <bill...@achaiasolutions.com>
| X-Newsreader: AspNNTP 1.50 (ActionJackson.com)
| Subject: Windows Services shutdown order
| Mime-Version: 1.0
| Content-Type: text/plain; charset="us-ascii"
| Content-Transfer-Encoding: 7bit
| Message-ID: <OvnSs0yl...@TK2MSFTNGP09.phx.gbl>
| Newsgroups: microsoft.public.dotnet.languages.csharp
| Date: Mon, 20 Oct 2003 10:11:15 -0700
| NNTP-Posting-Host: actionjackson133.dsl.frii.net 216.17.147.133
| Lines: 1
| Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP09.phx.gbl
| Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.languages.csharp:192632
| X-Tomcat-NG: microsoft.public.dotnet.languages.csharp

Bill Sonia

unread,
Oct 21, 2003, 10:09:53 AM10/21/03
to
My smtp server is on another machine. Can you think of a
particular service that I should ad a dependecy to?

>.
>

Jeffrey Tan[MSFT]

unread,
Oct 22, 2003, 1:58:31 AM10/22/03
to

Hi Bill,

I have tried to send mail in Shutdown event, it works well, and my smtp
server is not on the same machine with the application.
As you said your smtp server is no another machine, I think you should not
get any trouble of sending mail in shutdown event.

I think you can create a tmp file on disk in shutdown event, then you can
affirm your shutdown event is called corrently.
Something like this:
protected override void OnShutdown()
{
FileStream f=File.Create("D:\\onshutdown.txt");
base.OnShutdown ();
}

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

--------------------
| Content-Class: urn:content-classes:message
| From: "Bill Sonia" <bill...@achaiasolutions.com>
| Sender: "Bill Sonia" <bill...@achaiasolutions.com>
| References: <OvnSs0yl...@TK2MSFTNGP09.phx.gbl>
<H9tBiR9l...@cpmsftngxa06.phx.gbl>
| Subject: RE: Windows Services shutdown order
| Date: Tue, 21 Oct 2003 07:09:53 -0700
| Lines: 97
| Message-ID: <0c1f01c397dc$ffb49590$a301...@phx.gbl>
| MIME-Version: 1.0
| Content-Type: text/plain;
| charset="iso-8859-1"
| Content-Transfer-Encoding: 7bit
| X-Newsreader: Microsoft CDO for Windows 2000
| X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
| Thread-Index: AcOX3P+0rz/7d7qaRr6m4jMwxGy8Ng==
| Newsgroups: microsoft.public.dotnet.languages.csharp
| Path: cpmsftngxa06.phx.gbl
| Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.languages.csharp:192876
| NNTP-Posting-Host: TK2MSFTNGXA11 10.40.1.163
| X-Tomcat-NG: microsoft.public.dotnet.languages.csharp

Bill

unread,
Oct 22, 2003, 9:22:44 AM10/22/03
to
Thanks for your help. I'll give that a try

~Bill

>.
>

Jeffrey Tan[MSFT]

unread,
Nov 4, 2003, 6:14:07 AM11/4/03
to

Hi Bill,

Is your problem resolved?
If you have any question, please feel free to let me know.

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

--------------------
| Content-Class: urn:content-classes:message

| From: "Bill" <anon...@discussions.microsoft.com>
| Sender: "Bill" <anon...@discussions.microsoft.com>
| References: <OvnSs0yl...@TK2MSFTNGP09.phx.gbl>
<H9tBiR9l...@cpmsftngxa06.phx.gbl>
<0c1f01c397dc$ffb49590$a301...@phx.gbl>
<K3VtLGGm...@cpmsftngxa06.phx.gbl>


| Subject: RE: Windows Services shutdown order

| Date: Wed, 22 Oct 2003 06:22:44 -0700
| Lines: 173
| Message-ID: <05e701c3989f$93bc5080$a001...@phx.gbl>


| MIME-Version: 1.0
| Content-Type: text/plain;
| charset="iso-8859-1"
| Content-Transfer-Encoding: 7bit
| X-Newsreader: Microsoft CDO for Windows 2000
| X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300

| Thread-Index: AcOYn5O5V0KNMcT2QbWI+w2WP032tw==
| Newsgroups: microsoft.public.dotnet.languages.csharp
| Path: cpmsftngxa06.phx.gbl
| Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.languages.csharp:193156
| NNTP-Posting-Host: TK2MSFTNGXA08 10.40.1.160
| X-Tomcat-NG: microsoft.public.dotnet.languages.csharp

Bill Sonia

unread,
Nov 4, 2003, 10:17:43 AM11/4/03
to
Thanks for your interest. As it turns out I was headed down the wrong
road. My process does 2 things, first it writes to the event log and
second it sends the e-mail. Once I added a try catch around each
portion, it did send the mail.

i.e.
public void HandleEvent()
{
try
{
EventLog.WriteEntry(,,,)
}
catch { }

try
{
//My send mail routine
mySmtp.SendMail()
}
catch { }
}

The EventLog.WriteEntry worked onStart, onStop, onPause, etc... but
would error onShutDown. Once that was handled, the mail worked. I can
and will live without the event log on shut down but ideally I would
would like to get my app to write to the event log before the system
shuts down. Sql Server does it.

Thanks again for your help.

Jeffrey Tan[MSFT]

unread,
Nov 4, 2003, 9:15:12 PM11/4/03
to

Hi Bill,

Thanks for your feedback.
I am glad your program finally works. I can reproduce your eventlog
problem, it is because the eventlog service was shutdown before your
windows service.
I have tried to set our windows service depend on the eventlog service, but
always generates error. May be you can try to set the dependency in your
machine.

Hope this helps,

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

--------------------
| From: Bill Sonia <bill...@achaiasolutions.com>

| References: <hAUUKTso...@cpmsftngxa06.phx.gbl>
| X-Newsreader: AspNNTP 1.50 (ActionJackson.com)


| Subject: RE: Windows Services shutdown order

| Mime-Version: 1.0
| Content-Type: text/plain; charset="us-ascii"
| Content-Transfer-Encoding: 7bit

| Message-ID: <eRCrMbuo...@TK2MSFTNGP09.phx.gbl>
| Newsgroups: microsoft.public.dotnet.languages.csharp
| Date: Tue, 04 Nov 2003 07:17:43 -0800


| NNTP-Posting-Host: actionjackson133.dsl.frii.net 216.17.147.133
| Lines: 1
| Path:

cpmsftngxa06.phx.gbl!cpmsftngxa09.phx.gbl!cpmsftngxa10.phx.gbl!TK2MSFTNGXA05
.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP09.phx.gbl
| Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.languages.csharp:196608
| X-Tomcat-NG: microsoft.public.dotnet.languages.csharp

0 new messages