Từ 1 tới 9 trên tổng số 9 kết quả

Đề tài: Tạo một Windows Service trong lập trình C#

  1. #1
    Ngày gia nhập
    01 2007
    Bài viết
    412

    Smile Tạo một Windows Service trong lập trình C#

    Creating a Windows Service in C#
    By Mahesh Chand January 23, 2001

    NOTE: The project name in this sample code is mcWebService which is a spelling mistake. I meant to put mcWinService. And now I don't want to change all the screen shots and code all over again. I hope it won't confuse you .
    Ok, its time for one more tutorial. This times pick is Windows Services. Creating Windows Services is not a big deal using C# and Visual Studio. Just follow few simple steps and you are all set to run and test your first Windows Service.
    Windows Services is new name for NT Services you used to develop in previous versions of Visual Studio. This tutorial walks you through how to create and use your Windows Services. This Service writes some text to a text file when stop and start the service. The base idea is taken from MSDN but its more elaborated. You can modify it according to your needs.
    Step 1. Create Skeleton of the Service
    To create a new Window Service, pick Windows Service option from your Visual C# Projects, give your service a name, and click OK.

    The result look like this. The Wizard adds WebService1.cs class to your project.

    Set your ServiceName to your own name so it would be easier to recognize your service during testing OR you can set this property programmatically using this line this.ServiceName = "mcWinService";
    This is the name you will be looking for later .


    The default code of WebService1.cs added by the Wizard looks like here
    Visual C# Code:
    1. namespace mcWebService
    2. {
    3.     using System;
    4.     using System.Collections;
    5.     using System.Core;
    6.     using System.ComponentModel;
    7.     using System.Configuration;
    8.     using System.Data;
    9.     using System.Web.Services;
    10.     using System.Diagnostics;
    11.     using System.ServiceProcess;
    12.     public class WinService1 : System.ServiceProcess.ServiceBase
    13.     {
    14.         /// <summary>
    15.         /// Required designer variable.
    16.         /// </summary>
    17.         private System.ComponentModel.Container components;
    18.         public WinService1()
    19.         {
    20.             // This call is required by the WinForms Component Designer. InitializeComponent();
    21.             // TODO: Add any initialization after the InitComponent call
    22.         }
    23.         // The main entry point for the process
    24.         static void Main()
    25.         {
    26.             System.ServiceProcess.ServiceBase[] ServicesToRun;
    27.             // More than one user Service may run within the same process. To add
    28.             // another service to this process, change the following line to
    29.             / create a second service object. For example,
    30.             //
    31.             // ServicesToRun = New System.ServiceProcess.ServiceBase[] {new WinService1(), new
    32.             ySecondUserService()};
    33.             //
    34.             ServicesToRun = new System.ServiceProcess.ServiceBase[] { new WinService1() };
    35.             System.ServiceProcess.ServiceBase.Run(ServicesToRun);
    36.         }
    37.         /// <summary>
    38.         /// Required method for Designer support - do not modify
    39.         /// the contents of this method with the code editor.
    40.         /// </summary>
    41.         private void InitializeComponent()
    42.         {
    43.             components = new System.ComponentModel.Container();
    44.             this.ServiceName = "WinService1";
    45.         }
    46.         /// <summary>
    47.         /// Set things in motion so your service can do its work.
    48.         /// </summary>
    49.         protected override void OnStart(string[] args)
    50.         {
    51.             // TODO: Add code here to start your service.
    52.         }
    53.         /// <summary>
    54.         /// Stop this service.
    55.         /// </summary>
    56.         protected override void OnStop()
    57.         {
    58.             // TODO: Add code here to perform any tear-down necessary to stop your service.
    59.         }
    60.     }
    61. }

    Step 2. Add functionality to your service
    As you saw WebService1.cs, there are two overridden functions OnStart and OnStop. The OnStart function executes when you start your service and the OnStop function gets execute when you stop a service. I write some text to a text file when you start and stop the service.

    Visual C# Code:
    1. protected override void OnStart(string[] args)
    2. {
    3.     FileStream fs = new FileStream(@"c:\temp\mcWindowsService.txt" ,
    4.     FileMode.OpenOrCreate, FileAccess.Write);
    5.     StreamWriter m_streamWriter = new StreamWriter(fs);
    6.     m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
    7.     m_streamWriter.WriteLine(" mcWindowsService: Service Started \n");
    8.     m_streamWriter.Flush();
    9.     m_streamWriter.Close();
    10. }
    11. /// <summary>
    12. /// Stop this service.
    13. /// </summary>
    14. {
    15.     FileStream fs = new FileStream(@"c:\temp\mcWindowsService.txt" ,
    16.     FileMode.OpenOrCreate, FileAccess.Write);
    17.     StreamWriter m_streamWriter = new StreamWriter(fs);
    18.     m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
    19.     m_streamWriter.WriteLine(" mcWindowsService: Service Stopped \n"); m_streamWriter.Flush();
    20.     m_streamWriter.Close();
    21. }

    Step 3: Install and Run the Service

    Build of this application makes one exe, mcWinService.exe. You need to call installutil to
    egister this service from command line.
    installutil C:\mcWebService\bin\Debug\mcWebService.exe
    You use /u option to uninstall the service.
    installutil /u C:\mcWebService\bin\Debug\mcWebService.exe
    Run the application
    Step 4: Start and Stop the Service
    You need to go to the Computer Management to Start to start and stop the service. You can use Manage menu item by right clicking on My Computer.

    Under Services and Applications, you will see the service mcWinService. Start and Stop menu item starts and stops the service.

    Step 5: Test the Service
    Go to your temp directory and see if text file is there with contents or not.
    That's it.

  2. #2
    Ngày gia nhập
    07 2006
    Bài viết
    17

    Sao không tự làm lại thử rồi hướng dẫn bằng tiếng Việt luôn vậy neverland87?. Mình thấy đa số toàn bài viết các bạn bê nguyên xi từ chổ khác không àh. Sao không làm cái gì đó có dấu ấn của CViet nhỉ?!.
    Đã được chỉnh sửa lần cuối bởi NoBi : 18-05-2007 lúc 11:08 PM. Lý do: Thêm

  3. #3
    Ngày gia nhập
    04 2007
    Bài viết
    16

    phải đấy, cũng nên có một chút gì đó "CViệt" chứ
    Việt Nam quang vinh muôn năm!!!!!!!!!!!!

  4. #4
    Ngày gia nhập
    01 2007
    Bài viết
    412

    Cám ơn anh Nobi và bạn halh0000 đã góp ý. Tuy em là mod C# nhưng hiện trình độ còn kém lắm, chủ yếu mày mò c# trên mấy websites nước ngoài và không có năng khiếu viết bài nên đành post những gì người ta viết vào topic.
    Hiện mình thấy box C# còn khá im ắng trong CV, rất mong nhận được những bài viết, câu hỏi, kinh nghiệm lập trình C# của mọi người.

  5. #5
    Ngày gia nhập
    09 2006
    Bài viết
    10

    Sao không tự làm lại thử rồi hướng dẫn bằng tiếng Việt luôn vậy neverland87?. Mình thấy đa số toàn bài viết các bạn bê nguyên xi từ chổ khác không àh. Sao không làm cái gì đó có dấu ấn của CViet nhỉ?!.
    acx nghĩ hầu hết đều đang mày mò trong cái quá trình học :| nên chưa có gì đặc sắc, chờ xong rồi tung ra sau :p

  6. #6
    Ngày gia nhập
    04 2007
    Bài viết
    16

    Mặc định Tạo một Windows Service trong lập trình C#

    acx nghĩ hầu hết đều đang mày mò trong cái quá trình học :| nên chưa có gì đặc sắc, chờ xong rồi tung ra sau :


    acx àh, không nên nghĩ như thế chứ, chúng mình cùng đang học hỏi thì có gì phải nói ngay để anh em cùng giải quyết như thế mới tiến bộ nhanh được chớ
    Việt Nam quang vinh muôn năm!!!!!!!!!!!!

  7. #7
    Ngày gia nhập
    12 2006
    Bài viết
    24

    các bác nên chăm chút bài viết của mình, post tiếng việt thì mới "ăn khách", đa số các thành viên (ở hầu hết các diễn đàn người việt) thường lười đọc tiêég anh lắm, nhất là dân lập trình
    phải cố gắng thì mới phát triển CViet đc chứ

  8. #8
    Ngày gia nhập
    03 2007
    Bài viết
    3

    Em nghĩ là viết phần mềm ở việt nam ko bán được => ko ai tự viết cả. Em thấy mấy công ty lập trình cũng đi copy code về rồi khen họ viết hay chứ đâu có tự viết đâu. Nếu congdongcviet mà cũng copy code rồi thì dán hóa ra cũng là người việt nam )

  9. #9
    No Avatar
    zelda Khách

    Trích dẫn Nguyên bản được gửi bởi huytd Xem bài viết
    các bác nên chăm chút bài viết của mình, post tiếng việt thì mới "ăn khách", đa số các thành viên (ở hầu hết các diễn đàn người việt) thường lười đọc tiêég anh lắm, nhất là dân lập trình
    phải cố gắng thì mới phát triển CViet đc chứ
    Đó là do "cái lười" của dân VN mà ra đó. Chứ dân lập trình là phải biết đọc-viết tiếng Anh một cách thành thạo.

    Nếu congdongcviet mà cũng copy code rồi thì dán hóa ra cũng là người việt nam
    Thì bản chất chúng mình là người Việt Nam mà
    Ở đây, mọi người nên hiểu là 1 bài viết chia sẻ cho việc học tập, chứ không phải là chuyện ăn cắp code kiếc gì cả.

Các đề tài tương tự

  1. Tạo ứng dụng windows service đơn giản trong lập trình C#
    Gửi bởi dieucay555 trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 17
    Bài viết cuối: 05-05-2015, 08:42 AM
  2. Algorithm Kết nối giữa ứng dụng Web service và windows form trong C#?
    Gửi bởi nghich3 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 08-09-2012, 10:53 PM
  3. Không set service login được trong lập trình windows service
    Gửi bởi thienthanittk37 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 29-12-2011, 08:35 AM
  4. co ai co de tai ve Windows service k?
    Gửi bởi toanphuong trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 1
    Bài viết cuối: 16-05-2010, 04:50 PM
  5. Cách xây dựng ứng dụng dạng Windows service với VC++?
    Gửi bởi dragon8xa2 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 14-09-2009, 04:19 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn