simpel windows service
Jeg er ved at lave min første windows serviceDet enese den skal er at skrive i en fil ved start og stop af servicen.
Jeg har gennemgået eksemplet herfra: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vbwlkwalkthroughcreatingwindowsserviceapplication.asp
og det virkerde fint, men nu vil jeg selv bestemme hvad og hvor der skal skrives ved start og stop. Jeg har fundet et andet kodeeksempel, og sammensat disse to.
Jeg kan compile mit projekt og installere det som en service, men den dukker aldrig op på listen over de forskellige services?
min kode er meget simpel og følger her:
using System;
using System.Collections;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;
using System.IO;
namespace MyNewService2Ed
{
public class MyNewService2Ed : System.ServiceProcess.ServiceBase
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public MyNewService2Ed()
{
// This call is required by the Windows.Forms Component Designer.
InitializeComponent();
// TODO: Add any initialization after the InitComponent call
}
// The main entry point for the process
static void Main()
{
System.ServiceProcess.ServiceBase[] ServicesToRun;
// More than one user Service may run within the same process. To add
// another service to this process, change the following line to
// create a second service object. For example,
//
// ServicesToRun = new System.ServiceProcess.ServiceBase[] {new MyNewService2Ed(), new MySecondUserService()};
//
ServicesToRun = new System.ServiceProcess.ServiceBase[] { new MyNewService2Ed() };
System.ServiceProcess.ServiceBase.Run(ServicesToRun);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
//
// MyNewService2Ed
//
this.ServiceName = "MyNewService2Ed";
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
/// <summary>
/// Set things in motion so your service can do its work.
/// </summary>
protected override void OnStart(string[] args)
{
// create or open the file. Default path is "C:\windows\System32\"
FileStream fs = new FileStream(@"c:\temp\MyNewService2Ed.txt" , FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
m_streamWriter.WriteLine(" MyNewService2Ed: Service Started \n");
m_streamWriter.Flush();
}
/// <summary>
/// Stop this service.
/// </summary>
protected override void OnStop()
{
FileStream fs = new FileStream(@"c:\temp\MyNewService2Ed.txt" , FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
m_streamWriter.WriteLine(" MyNewService2Ed: Service Stopped \n");
m_streamWriter.Flush();
}
}
}
