User Tools

Site Tools


xsharp_service_sample

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

xsharp_service_sample [2018/07/29 06:14] (current)
wolfgangriedmann created
Line 1: Line 1:
 +====== Windows Service Sample ======
 +
 +X# is very well suited for Windows Services. A Windows Service is a GUI less application that runs in the background of any Windows machine, and even without any logged in user. Therefore services are well suited for background tasks.
 +
 +The .NET Framework has a base class for all Windows Services: the ''​ServiceBase''​ class from the ''​System.ServiceProcess''​ namespace: [[https://​docs.microsoft.com/​en-uk/​dotnet/​api/​system.serviceprocess.servicebase|https://​docs.microsoft.com/​en-uk/​dotnet/​api/​system.serviceprocess.servicebase]]
 +
 +The X# code is very simple: ​
 +<code visualfoxpro>​class XsharpService inherit ServiceBase
 +constructor() ​            
 +
 +  super()
 +  self:​InitializeComponent() ​
 +
 +return
 +
 +virtual method InitializeComponent() as void
 +
 +  self:​ServiceName := "​Xsharp Service"​
 +  self:​EventLog:​Log := "​Application"​
 +            ​
 +  // These Flags set whether or not to handle that specific
 +  //  type of event. Set to true if you need it, false otherwise.
 +  self:​CanHandlePowerEvent := false
 +  self:​CanHandleSessionChangeEvent := false
 +  self:​CanPauseAndContinue := true
 +  self:​CanShutdown := true
 +  self:​CanStop := true
 +
 +  return
 +protected virtual method OnStart( args as string[] ) as void 
 +
 +  super:​OnStart( args )
 +
 +  return
 +
 +protected virtual method OnStop() as void
 +
 +  super:​OnStop()
 +
 +  return
 +
 +protected virtual method OnPause() as void
 +
 +  super:​OnPause()
 +
 +  return
 +
 +protected virtual method OnContinue() as void
 +
 +  super:​OnContinue()
 +
 +  return
 +
 +protected virtual method OnTimeOut( oSender as object, e as ElapsedEventArgs ) as void
 +
 + ​return</​code>​
 +
 +You can find a complete working sample as XIDE export file here: {{ :​download:​xsharpservice.zip |}}
 +
 +
  
xsharp_service_sample.txt ยท Last modified: 2018/07/29 06:14 by wolfgangriedmann