2010-07-12 31 views
7

tôi có một ứng dụng C# đơn giản cần chạy dưới dạng dịch vụ. làm thế nào để tôi làm cho nó chạy như một dịch vụ thay vì chỉ là một thực thi?C# - làm cách nào để ứng dụng chạy dưới dạng dịch vụ?

+0

bản sao có thể có của [tài nguyên khi tạo dịch vụ cửa sổ bằng cách sử dụng C#] (http://stackoverflow.com/questions/1688382/resources-on-creating-a-windows-service-using-c) – Joe

+0

Ở đây tôi đã tìm thấy hướng dẫn từng bước: https://stackoverflow.com/a/593803/7713750 – Rekshino

Trả lời

2

Visual C# 2010 Recipies có một ví dụ trong đó sẽ cho bạn thấy chính xác cách thực hiện việc này, mà tôi đã thử sử dụng VS 2008 và .NET 3.5.

Nó khoản sau:

  1. Tạo một "Windows Service" ứng dụng mới trong Visual Studio
  2. Cảng nguồn của ứng dụng vào mô hình thực hiện của dịch vụ, AKA chức năng chính của bạn trở thành một phần của một xử lý sự kiện kích hoạt bởi đối tượng hẹn giờ hoặc thứ gì đó dọc theo các dòng đó
  3. Thêm lớp Trình cài đặt dịch vụ vào dự án Dịch vụ Windows của bạn - nó sẽ trông giống như đoạn mã dưới đây:

    [RunInstaller(true)] 
    public partial class PollingServiceInstaller : Installer 
    { 
        public PollingServiceInstaller() 
        { 
         //Instantiate and configure a ServiceProcessInstaller 
         ServiceProcessInstaller PollingService = new ServiceProcessInstaller(); 
         PollingService.Account = ServiceAccount.LocalSystem; 
    
         //Instantiate and configure a ServiceInstaller 
         ServiceInstaller PollingInstaller = new ServiceInstaller(); 
         PollingInstaller.DisplayName = "SMMD Polling Service Beta"; 
         PollingInstaller.ServiceName = "SMMD Polling Service Beta"; 
         PollingInstaller.StartType = ServiceStartMode.Automatic; 
    
         //Add both the service process installer and the service installer to the 
         //Installers collection, which is inherited from the Installer base class. 
         Installers.Add(PollingInstaller); 
         Installers.Add(PollingService); 
        } 
    } 
    

Cuối cùng bạn sẽ sử dụng một tiện ích dòng lệnh để thực sự cài đặt dịch vụ - bạn có thể đọc về cách làm việc ở đây:

http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/d8f300e3-6c09-424f-829e-c5fda34c1bc7

Hãy cho tôi biết nếu bạn có bất cứ thắc mắc.

3

Có một tempate được gọi là "Dịch vụ Windows" trong studio trực quan. Nếu bạn có bất kỳ câu hỏi nào cho tôi biết, tôi viết các dịch vụ cả ngày.

+0

cảm ơn rất nhiều jonathan tôi chắc chắn sẽ đưa bạn lên trên đó –

2

Có khung nguồn mở lưu trữ ứng dụng .net dưới dạng dịch vụ Windows. Không có cài đặt đau, gỡ cài đặt dịch vụ windows. Nó decouples rất tốt. Vui lòng kiểm tra bài đăng này Topshelf Windows Service Framework Post

Các vấn đề liên quan