- Home
- Products
- Integration
- Tutorial
- Barcode FAQ
- Purchase
- Company
qr code generator c# dll s REPORTING WITH A WINDOWS SERVICE in C#
CHAPTER 8 s REPORTING WITH A WINDOWS SERVICE Generate QR Code In C#.NET Using Barcode encoder for VS .NET Control to generate, create QR Code JIS X 0510 image in VS .NET applications. www.OnBarcode.comRead QR Code In Visual C#.NET Using Barcode scanner for .NET Control to read, scan read, scan image in VS .NET applications. www.OnBarcode.comFigure 8-3. Adding an installer to the project
Paint Barcode In C#.NET Using Barcode creator for .NET framework Control to generate, create Barcode image in .NET framework applications. www.OnBarcode.comCreating UPC A In Visual C# Using Barcode printer for VS .NET Control to generate, create UPCA image in VS .NET applications. www.OnBarcode.comFigure 8-4. Properties of serviceProcessInstaller Now, let s look at serviceInstaller1. Two important properties of serviceInstaller worth mentioning are DisplayName , which appears in the Windows service control to help identify the service, and StartType, which defines how the service should start when Windows is booted. The default choice of StartType is Manual, but in most cases, you ll want to set it to Automatic. Setting it to Automatic guarantees that the service will run every time Windows runs. Figure 8-5 shows the available properties. Print UCC.EAN - 128 In C# Using Barcode generation for .NET Control to generate, create GTIN - 128 image in .NET framework applications. www.OnBarcode.comMaking DataMatrix In Visual C# Using Barcode generation for VS .NET Control to generate, create ECC200 image in VS .NET applications. www.OnBarcode.comCHAPTER 8 s REPORTING WITH A WINDOWS SERVICE
Linear Barcode Encoder In Visual C# Using Barcode encoder for Visual Studio .NET Control to generate, create 1D image in Visual Studio .NET applications. www.OnBarcode.comEncoding Postnet 3 Of 5 In Visual C#.NET Using Barcode drawer for VS .NET Control to generate, create Postnet image in Visual Studio .NET applications. www.OnBarcode.coms Note You can set the Account property to User if the service is performing actions that need special QR Code Recognizer In VB.NET Using Barcode decoder for VS .NET Control to read, scan read, scan image in VS .NET applications. www.OnBarcode.comQR Code 2d Barcode Drawer In .NET Using Barcode generator for Reporting Service Control to generate, create QR Code ISO/IEC18004 image in Reporting Service applications. www.OnBarcode.comsecurity privileges, for example, to impersonate a domain account to access database resources.
Make Code 3/9 In Java Using Barcode creator for Java Control to generate, create Code 3 of 9 image in Java applications. www.OnBarcode.comEAN / UCC - 13 Printer In Objective-C Using Barcode encoder for iPhone Control to generate, create UCC - 12 image in iPhone applications. www.OnBarcode.comFigure 8-5. Properties of serviceInstaller Please make sure you set the properties as indicated in Table 8-1. Table 8-1. Properties Settings for the Windows Service Application Printing EAN 128 In None Using Barcode creation for Online Control to generate, create EAN 128 image in Online applications. www.OnBarcode.comGS1 RSS Printer In VS .NET Using Barcode generation for .NET Control to generate, create GS1 DataBar image in VS .NET applications. www.OnBarcode.comObject
Code 3 Of 9 Generation In Java Using Barcode generator for Java Control to generate, create Code-39 image in Java applications. www.OnBarcode.comCreate UCC.EAN - 128 In .NET Framework Using Barcode creation for ASP.NET Control to generate, create EAN 128 image in ASP.NET applications. www.OnBarcode.comserviceProcessInstaller1
Scanning PDF417 In C#.NET Using Barcode decoder for VS .NET Control to read, scan read, scan image in Visual Studio .NET applications. www.OnBarcode.comEncode Barcode In None Using Barcode creation for Software Control to generate, create Barcode image in Software applications. www.OnBarcode.comProperty
Create USS Code 128 In None Using Barcode maker for Online Control to generate, create Code 128 Code Set A image in Online applications. www.OnBarcode.comQR Code ISO/IEC18004 Recognizer In VS .NET Using Barcode reader for Visual Studio .NET Control to read, scan read, scan image in VS .NET applications. www.OnBarcode.comAccount
Value
LocalSystem RS Windows Service for Reports Automatic
serviceInstaller1 DisplayName StartType
Please check the following MSDN link for further information on project installers: http://msdn.microsoft.com/library/default.asp url=/library/ en-us/vbcon/html/vbtskAddingInstallersToYourServiceApplication.asp User Interaction with a Windows Service
Typically, a Windows service application has no live user intervention through the keyboard or the mouse. The service starts to work in the background after its installation. To allow user input to the service, we have to use a text- or XML-based configuration file. Common data CHAPTER 8 s REPORTING WITH A WINDOWS SERVICE
sources, such as MS Access or SQL Server, can also provide data as input to the service. Usually, a service produces logs for health or progress checks. The Service class is inherited from the ServiceBase class, which provides the base for the service that is part of the Windows service application that calls the ServiceBase constructor of the derived class. This is done by making a call to the Start method when the service is started. Immediately after this, the OnStart method is called. In simple words, all the functions to handle the service are encapsulated within the ServiceBase class, leaving developers to focus on the function of the service application, not how to coordinate the service with the OS. You can find out more at this MSDN link: http://msdn2.microsoft.com/en-us/library/ system.serviceprocess.servicebase_members.aspx Let s examine the code that is produced after creating the project. You can switch to code view by right-clicking anywhere on the design surface and selecting View Code. Typically, the OnStart and OnStop methods are key pieces of functionality for any Windows service application. The default code should look similar to the following: using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Diagnostics; System.ServiceProcess; System.Text; namespace RSWindowsService101 { public partial class Service1 : ServiceBase { public Service1() { InitializeComponent(); } protected override void OnStart(string[] args) { // TODO: Add code here to start your service. } protected override void OnStop() { // TODO: Add code here to perform any tear-down necessary // to stop your service. } } } CHAPTER 8 s REPORTING WITH A WINDOWS SERVICE
The default code produced for the project installer should look as follows: using using using using System; System.Collections.Generic; System.ComponentModel; System.Configuration.Install; namespace RSWindowsService101 { [RunInstaller(true)] public partial class ProjectInstaller : Installer { public ProjectInstaller() { InitializeComponent(); } } } Building the Project
All the clients we developed in the previous chapters had some default behavior when we ran them. However, Windows services are different; we can build the project, but we cannot immediately run it within the VS IDE to watch the behavior. The code used in this tutorial doesn t do much. I ve just shown you how you can build a skeleton Windows service. When we start with the reporting project later, you ll see that we can write code using the timer control to produce the report and automate its delivery. For now, let s just get our Windows service application ready for client-side reporting. You can build a Windows service by selecting Build Build Solution from Visual Studio s main menu. If you press F5 on the keyboard, as you usually can to build projects, you will get an error that says, Cannot start service from the command line or a debugger . . . If all goes well, your project should compile without any issues, and you should be able to see the Windows service application executable RSWindowsServer101.exe in the bin folder of the project, as shown in Figure 8-6.
|
|