forked from dotnet/docs
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
183 additions
and
163 deletions.
There are no files selected for viewing
278 changes: 153 additions & 125 deletions
278
docs/framework/windows-services/snippets/MyNewService/csharp/MyNewService.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,153 +1,181 @@ | ||
//******************************************************************* | ||
using System; | ||
using System.Collections.Generic; | ||
using System.Text; | ||
using System.Diagnostics; | ||
using System.ServiceProcess; | ||
|
||
public class Service1: System.ServiceProcess.ServiceBase | ||
public class Service1 : ServiceBase | ||
{ | ||
void MainOriginal() | ||
{ | ||
//<Snippet6> | ||
System.ServiceProcess.ServiceBase[] ServicesToRun; | ||
ServicesToRun = new System.ServiceProcess.ServiceBase[] | ||
{ new Service1() }; | ||
System.ServiceProcess.ServiceBase.Run(ServicesToRun); | ||
//</Snippet6> | ||
} | ||
static void MainOriginal() | ||
{ | ||
//<Snippet6> | ||
ServiceBase[] ServicesToRun; | ||
ServicesToRun = new ServiceBase[] | ||
{ new Service1() }; | ||
Run(ServicesToRun); | ||
//</Snippet6> | ||
} | ||
} | ||
|
||
public class MyNewService: System.ServiceProcess.ServiceBase | ||
public class MyNewService : ServiceBase | ||
{ | ||
//<Snippet1> | ||
static void Main() | ||
{ | ||
System.ServiceProcess.ServiceBase[] ServicesToRun; | ||
// Change the following line to match. | ||
ServicesToRun = new System.ServiceProcess.ServiceBase[] | ||
{ new MyNewService() }; | ||
System.ServiceProcess.ServiceBase.Run(ServicesToRun); | ||
} | ||
//</Snippet1> | ||
|
||
//<Snippet16> | ||
private System.ComponentModel.IContainer components; | ||
private System.Diagnostics.EventLog eventLog1; | ||
//</Snippet16> | ||
|
||
[System.Diagnostics.DebuggerStepThrough()] | ||
void InitializeComponent() | ||
{ | ||
components = new System.ComponentModel.Container(); | ||
this.ServiceName = "MyNewService"; | ||
} | ||
|
||
//<Snippet2> | ||
public MyNewService() | ||
{ | ||
//<Snippet1> | ||
static void Main() | ||
{ | ||
ServiceBase[] ServicesToRun; | ||
// Change the following line to match. | ||
ServicesToRun = new ServiceBase[] | ||
{ new MyNewService() }; | ||
ServiceBase.Run(ServicesToRun); | ||
} | ||
//</Snippet1> | ||
|
||
//<Snippet16> | ||
private System.ComponentModel.IContainer _components; | ||
private readonly EventLog _eventLog1; | ||
//</Snippet16> | ||
|
||
[DebuggerStepThrough()] | ||
void InitializeComponent() | ||
{ | ||
_components = new System.ComponentModel.Container(); | ||
ServiceName = "MyNewService"; | ||
} | ||
|
||
//<Snippet2> | ||
public MyNewService() | ||
{ | ||
InitializeComponent(); | ||
eventLog1 = new EventLog(); | ||
_eventLog1 = new EventLog(); | ||
if (!EventLog.SourceExists("MySource")) | ||
{ | ||
EventLog.CreateEventSource("MySource", "MyNewLog"); | ||
} | ||
eventLog1.Source = "MySource"; | ||
eventLog1.Log = "MyNewLog"; | ||
} | ||
//</Snippet2> | ||
|
||
//<Snippet3> | ||
protected override void OnStart(string[] args) | ||
{ | ||
eventLog1.WriteEntry("In OnStart."); | ||
} | ||
//</Snippet3> | ||
|
||
//<Snippet4> | ||
protected override void OnStop() | ||
{ | ||
eventLog1.WriteEntry("In OnStop."); | ||
} | ||
//</Snippet4> | ||
|
||
//<Snippet5> | ||
protected override void OnContinue() | ||
{ | ||
eventLog1.WriteEntry("In OnContinue."); | ||
} | ||
//</Snippet5> | ||
_eventLog1.Source = "MySource"; | ||
_eventLog1.Log = "MyNewLog"; | ||
} | ||
//</Snippet2> | ||
|
||
// <SnippetContructorWithArgs> | ||
public MyNewService(string[] args) | ||
{ | ||
InitializeComponent(); | ||
|
||
string eventSourceName = "MySource"; | ||
string logName = "MyNewLog"; | ||
|
||
if (args.Length > 0) | ||
{ | ||
eventSourceName = args[0]; | ||
} | ||
|
||
if (args.Length > 1) | ||
{ | ||
logName = args[1]; | ||
} | ||
|
||
_eventLog1 = new EventLog(); | ||
|
||
if (!EventLog.SourceExists(eventSourceName)) | ||
{ | ||
EventLog.CreateEventSource(eventSourceName, logName); | ||
} | ||
|
||
_eventLog1.Source = eventSourceName; | ||
_eventLog1.Log = logName; | ||
} | ||
// </SnippetContructorWithArgs> | ||
|
||
//<Snippet3> | ||
protected override void OnStart(string[] args) | ||
{ | ||
_eventLog1.WriteEntry("In OnStart."); | ||
} | ||
//</Snippet3> | ||
|
||
//<Snippet4> | ||
protected override void OnStop() | ||
{ | ||
_eventLog1.WriteEntry("In OnStop."); | ||
} | ||
//</Snippet4> | ||
|
||
//<Snippet5> | ||
protected override void OnContinue() | ||
{ | ||
_eventLog1.WriteEntry("In OnContinue."); | ||
} | ||
//</Snippet5> | ||
} | ||
|
||
//******************************************************************* | ||
//<Snippet7> | ||
public class UserService1 : System.ServiceProcess.ServiceBase | ||
public class UserService1 : ServiceBase | ||
{ | ||
} | ||
//</Snippet7> | ||
|
||
//******************************************************************* | ||
namespace WrapUserService1 | ||
{ | ||
public class UserService1:System.ServiceProcess.ServiceBase | ||
{ | ||
//<Snippet8> | ||
public UserService1() | ||
{ | ||
this.ServiceName = "MyService2"; | ||
this.CanStop = true; | ||
this.CanPauseAndContinue = true; | ||
this.AutoLog = true; | ||
} | ||
//</Snippet8> | ||
|
||
//<Snippet9> | ||
public static void Main() | ||
{ | ||
System.ServiceProcess.ServiceBase.Run(new UserService1()); | ||
} | ||
//</Snippet9> | ||
|
||
//<Snippet10> | ||
protected override void OnStart(string[] args) | ||
{ | ||
// Insert code here to define processing. | ||
} | ||
//</Snippet10> | ||
} | ||
public class UserService1 : ServiceBase | ||
{ | ||
//<Snippet8> | ||
public UserService1() | ||
{ | ||
ServiceName = "MyService2"; | ||
CanStop = true; | ||
CanPauseAndContinue = true; | ||
AutoLog = true; | ||
} | ||
//</Snippet8> | ||
|
||
//<Snippet9> | ||
public static void Main() | ||
{ | ||
ServiceBase.Run(new UserService1()); | ||
} | ||
//</Snippet9> | ||
|
||
//<Snippet10> | ||
protected override void OnStart(string[] args) | ||
{ | ||
// Insert code here to define processing. | ||
} | ||
//</Snippet10> | ||
} | ||
} | ||
|
||
//******************************************************************* | ||
class UserService2:System.ServiceProcess.ServiceBase | ||
class UserService2 : ServiceBase | ||
{ | ||
System.Diagnostics.EventLog eventLog1; | ||
|
||
//<Snippet14> | ||
public UserService2() | ||
{ | ||
eventLog1 = new System.Diagnostics.EventLog(); | ||
// Turn off autologging | ||
|
||
//<Snippet17> | ||
this.AutoLog = false; | ||
//</Snippet17> | ||
// create an event source, specifying the name of a log that | ||
// does not currently exist to create a new, custom log | ||
if (!System.Diagnostics.EventLog.SourceExists("MySource")) | ||
{ | ||
System.Diagnostics.EventLog.CreateEventSource( | ||
"MySource","MyLog"); | ||
} | ||
// configure the event log instance to use this source name | ||
eventLog1.Source = "MySource"; | ||
eventLog1.Log = "MyLog"; | ||
} | ||
//</Snippet14> | ||
|
||
//<Snippet15> | ||
protected override void OnStart(string[] args) | ||
{ | ||
// write an entry to the log | ||
eventLog1.WriteEntry("In OnStart."); | ||
} | ||
//</Snippet15> | ||
readonly EventLog _eventLog1; | ||
|
||
//<Snippet14> | ||
public UserService2() | ||
{ | ||
_eventLog1 = new EventLog(); | ||
// Turn off autologging | ||
|
||
//<Snippet17> | ||
AutoLog = false; | ||
//</Snippet17> | ||
// create an event source, specifying the name of a log that | ||
// does not currently exist to create a new, custom log | ||
if (!EventLog.SourceExists("MySource")) | ||
{ | ||
EventLog.CreateEventSource( | ||
"MySource", "MyLog"); | ||
} | ||
// configure the event log instance to use this source name | ||
_eventLog1.Source = "MySource"; | ||
_eventLog1.Log = "MyLog"; | ||
} | ||
//</Snippet14> | ||
|
||
//<Snippet15> | ||
protected override void OnStart(string[] args) | ||
{ | ||
// write an entry to the log | ||
_eventLog1.WriteEntry("In OnStart."); | ||
} | ||
//</Snippet15> | ||
} |
21 changes: 14 additions & 7 deletions
21
docs/framework/windows-services/snippets/MyNewService/csharp/Program-add-parameter.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,16 @@ | ||
static void Main(string[] args) | ||
using System.ServiceProcess; | ||
|
||
public class Class1 | ||
{ | ||
ServiceBase[] ServicesToRun; | ||
ServicesToRun = new ServiceBase[] | ||
// <Snippet1> | ||
static void Main(string[] args) | ||
{ | ||
new MyNewService(args) | ||
}; | ||
ServiceBase.Run(ServicesToRun); | ||
} | ||
ServiceBase[] ServicesToRun; | ||
ServicesToRun = new ServiceBase[] | ||
{ | ||
new MyNewService(args) | ||
}; | ||
ServiceBase.Run(ServicesToRun); | ||
} | ||
// </Snippet1> | ||
} |
13 changes: 13 additions & 0 deletions
13
docs/framework/windows-services/snippets/MyNewService/csharp/Project.csproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<PropertyGroup> | ||
<OutputType>Exe</OutputType> | ||
<TargetFramework>net481</TargetFramework> | ||
<StartupObject>Class1</StartupObject> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<PackageReference Include="System.ServiceProcess.ServiceController" Version="8.0.0" /> | ||
</ItemGroup> | ||
|
||
</Project> |
Oops, something went wrong.