EDN Admin
Well-known member
<p align=left><font face=Arial></font>
I modified the example service that is created in the MSDN tutorial Walkthrough: Creating a Windows Service Application in the Component Designer (<a title="http://msdn2.microsoft.com/en-us/library/zt39148a(VS.80).aspx http://msdn2.microsoft.com/en-us/library/zt39148a(VS.80).aspx http://msdn2.microsoft.com/en-us/library/zt39148a(VS.80).aspx ). I simply need the service to write to an Event Log when the computer starts and again when it is shutdown. The log is good when I manually start and stop the service. But when I shutdown the computer I dont get the entry that is written in OnStop(). Is there anything special I need to do to make sure the service stops when the PC is shutdown. The service properties for CanStop and CanShutdown are both set to True.
<p align=left> <font color="#0000ff
<font face=Courier><font color="#0000ff public</font> <font color="#0000ff partial</font> <font color="#0000ff class</font> <font color="#2b91af LaptopDock</font> : <font color="#2b91af ServiceBase </font></font>
<font face=Courier>{</font>
<blockquote dir=ltr style="margin-right:0px
<font face=Courier color="#0000ff public</font><font face=Courier> LaptopDock()</font>
<font face=Courier>{</font>
<blockquote dir=ltr style="margin-right:0px
<font face=Courier>InitializeComponent();</font>
<font face=Courier><font color="#0000ff if</font> (!System.Diagnostics.<font color="#2b91af EventLog</font>.SourceExists(<font color="#a31515 "Docked"</font></font><font face=Courier>))</font>
<font face=Courier>{</font>
<blockquote dir=ltr style="margin-right:0px
<font face=Courier>System.Diagnostics.</font><font face=Courier color="#2b91af EventLog</font><font face=Courier>.CreateEventSource(</font>
<font face=Courier><font color="#a31515 "Docked"</font>, <font color="#a31515 "LaptopLog"</font></font><font face=Courier>);</font> </blockquote>
<font face=Courier>}</font>
<font face=Courier>eventLogDock.Source = </font><font face=Courier color="#a31515 "Docked"</font><font face=Courier>;</font>
<font face=Courier>eventLogDock.Log = </font><font face=Courier color="#a31515 "LaptopLog"</font><font face=Courier>;</font> </blockquote>
<font face=Courier>}</font> </blockquote>
<font face=Courier></font><font color="#0000ff </font>
<blockquote dir=ltr style="margin-right:0px
<p align=left><font face=Courier><font color="#0000ff protected</font> <font color="#0000ff override</font> <font color="#0000ff void</font> OnStart(<font color="#0000ff string</font></font><font face=Courier>[] args)</font>
<font face=Courier>{</font>
<blockquote dir=ltr style="margin-right:0px
<font face=Courier>eventLogDock.WriteEntry(</font><font face=Courier><font color="#a31515 "Started in Dock"</font>, <font color="#2b91af EventLogEntryType</font></font><font face=Courier>.Information, 0);</font> </blockquote>
<font face=Courier>}</font>
<font face=Courier><font color="#0000ff </font></font>
<p align=left><font face=Courier><font color="#0000ff protected</font> <font color="#0000ff override</font> <font color="#0000ff void</font> OnStop()</font>
<p align=left><font face=Courier>{</font>
<blockquote dir=ltr style="margin-right:0px
<font face=Courier>eventLogDock.WriteEntry(</font><font face=Courier><font color="#a31515 "Stopped in Dock"</font>, <font color="#2b91af EventLogEntryType</font></font><font face=Courier>.Information, 1);</font> </blockquote>
<font face=Courier>}</font>
<font face=Courier></font><font color="#0000ff </font>
<p align=left><font face=Courier><font color="#0000ff protected</font> <font color="#0000ff override</font> <font color="#0000ff void</font></font><font face=Courier> OnShutdown()</font>
<font face=Courier>{</font>
<blockquote dir=ltr style="margin-right:0px
<font face=Courier>eventLogDock.WriteEntry(</font><font face=Courier><font color="#a31515 "Shutdown in Dock"</font>, <font color="#2b91af EventLogEntryType</font></font><font face=Courier>.Information, 2);</font> </blockquote>
<font face=Courier>}</font> </blockquote>
<font face=Courier>}</font>
<font face=Courier></font> </font>
View the full article
I modified the example service that is created in the MSDN tutorial Walkthrough: Creating a Windows Service Application in the Component Designer (<a title="http://msdn2.microsoft.com/en-us/library/zt39148a(VS.80).aspx http://msdn2.microsoft.com/en-us/library/zt39148a(VS.80).aspx http://msdn2.microsoft.com/en-us/library/zt39148a(VS.80).aspx ). I simply need the service to write to an Event Log when the computer starts and again when it is shutdown. The log is good when I manually start and stop the service. But when I shutdown the computer I dont get the entry that is written in OnStop(). Is there anything special I need to do to make sure the service stops when the PC is shutdown. The service properties for CanStop and CanShutdown are both set to True.
<p align=left> <font color="#0000ff
<font face=Courier><font color="#0000ff public</font> <font color="#0000ff partial</font> <font color="#0000ff class</font> <font color="#2b91af LaptopDock</font> : <font color="#2b91af ServiceBase </font></font>
<font face=Courier>{</font>
<blockquote dir=ltr style="margin-right:0px
<font face=Courier color="#0000ff public</font><font face=Courier> LaptopDock()</font>
<font face=Courier>{</font>
<blockquote dir=ltr style="margin-right:0px
<font face=Courier>InitializeComponent();</font>
<font face=Courier><font color="#0000ff if</font> (!System.Diagnostics.<font color="#2b91af EventLog</font>.SourceExists(<font color="#a31515 "Docked"</font></font><font face=Courier>))</font>
<font face=Courier>{</font>
<blockquote dir=ltr style="margin-right:0px
<font face=Courier>System.Diagnostics.</font><font face=Courier color="#2b91af EventLog</font><font face=Courier>.CreateEventSource(</font>
<font face=Courier><font color="#a31515 "Docked"</font>, <font color="#a31515 "LaptopLog"</font></font><font face=Courier>);</font> </blockquote>
<font face=Courier>}</font>
<font face=Courier>eventLogDock.Source = </font><font face=Courier color="#a31515 "Docked"</font><font face=Courier>;</font>
<font face=Courier>eventLogDock.Log = </font><font face=Courier color="#a31515 "LaptopLog"</font><font face=Courier>;</font> </blockquote>
<font face=Courier>}</font> </blockquote>
<font face=Courier></font><font color="#0000ff </font>
<blockquote dir=ltr style="margin-right:0px
<p align=left><font face=Courier><font color="#0000ff protected</font> <font color="#0000ff override</font> <font color="#0000ff void</font> OnStart(<font color="#0000ff string</font></font><font face=Courier>[] args)</font>
<font face=Courier>{</font>
<blockquote dir=ltr style="margin-right:0px
<font face=Courier>eventLogDock.WriteEntry(</font><font face=Courier><font color="#a31515 "Started in Dock"</font>, <font color="#2b91af EventLogEntryType</font></font><font face=Courier>.Information, 0);</font> </blockquote>
<font face=Courier>}</font>
<font face=Courier><font color="#0000ff </font></font>
<p align=left><font face=Courier><font color="#0000ff protected</font> <font color="#0000ff override</font> <font color="#0000ff void</font> OnStop()</font>
<p align=left><font face=Courier>{</font>
<blockquote dir=ltr style="margin-right:0px
<font face=Courier>eventLogDock.WriteEntry(</font><font face=Courier><font color="#a31515 "Stopped in Dock"</font>, <font color="#2b91af EventLogEntryType</font></font><font face=Courier>.Information, 1);</font> </blockquote>
<font face=Courier>}</font>
<font face=Courier></font><font color="#0000ff </font>
<p align=left><font face=Courier><font color="#0000ff protected</font> <font color="#0000ff override</font> <font color="#0000ff void</font></font><font face=Courier> OnShutdown()</font>
<font face=Courier>{</font>
<blockquote dir=ltr style="margin-right:0px
<font face=Courier>eventLogDock.WriteEntry(</font><font face=Courier><font color="#a31515 "Shutdown in Dock"</font>, <font color="#2b91af EventLogEntryType</font></font><font face=Courier>.Information, 2);</font> </blockquote>
<font face=Courier>}</font> </blockquote>
<font face=Courier>}</font>
<font face=Courier></font> </font>
View the full article