User Tools

Site Tools


xsharp_service_sample
no way to compare when less than two revisions

Differences

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


xsharp_service_sample [2018/07/29 06:14] (current) – created wolfgangriedmann
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