Hướng dẫn xây dựng Windows Service

Hướng dẫn xây dựng windows services (How to create a windows services)

  • Tạo dự án chọn loại Windows Services


  • Đặt tên cho Windows Service


  • Click chuột phải trên MyServiceDemo (Design) > Add Installer, VS sẽ add 2 thành phần vào MyServiceDemo như sau


  • Thiết lập tài khoản chạy Service bằng cách click vào serviceProcessInstaller1
    • Thiết lập loại tài khoản Account: LocalSystem
    • Click chọn ServiceInstaller1 thiết lập kiểu khởi động và tên services
      • StartType: Automatic
      • Description: My Service Demo
      • DisplayName: My Service Demo
  • Viết code cho 2 sự kiện của service khi khởi động và tắt dịch vụ

protected override void OnStart(string[] args)
File.WriteAllText(“c:\\temp\\log.txt”,”Started time:” + DateTime.Today.ToLongTimeString());

protected override void OnStop()

File.WriteAllText(“c:\\temp\\log.txt”,”Started time:” + DateTime.Today.ToLongTimeString());


  • Biên dịch Project
  • Mở Visual Studio Command với quyền là Administrator
  • Chuyển đến thư mục chứa file exe của windows services vừa biên dịch
  • Gõ lệnh
  • Installutil /i tencuaproject.exe


Bảng dưới đây mô tả sự khác nhau giữa WCF and ASP.NET Web API, từ bảng này chúng ta có thể lựa chọn công nghệ phù hợp cho từng bài toán.

Enables building services that support multiple transport protocols (HTTP, TCP, UDP, and custom transports) and allows switching between them. HTTP only. First-class programming model for HTTP. More suitable for access from various browsers, mobile devices etc enabling wide reach.
Enables building services that support multiple encodings (Text, MTOM, and Binary) of the same message type and allows switching between them. Enables building Web APIs that support wide variety of media types including XML, JSON etc.
Supports building services with WS-* standards like Reliable Messaging, Transactions, Message Security. Uses basic protocol and formats such as HTTP, WebSockets, SSL, JQuery, JSON, and XML. There is no support for higher level protocols such as Reliable Messaging or Transactions.
Supports Request-Reply, One Way, and Duplex message exchange patterns. HTTP is request/response but additional patterns can be supported through SignalRand WebSockets integration.
WCF SOAP services can be described in WSDL allowing automated tools to generate client proxies even for services with complex schemas. There is a variety of ways to describe a Web API ranging from auto-generated HTML help page describing snippets to structured metadata for OData integrated APIs.
Ships with the .NET framework. Ships with .NET framework but is open-source and is also available out-of-band as independent download.