Xây dựng Windows Service với C# – Phần 1

Bài viết này sẽ hướng dẫn các bạn viết một trình ứng dụng với mục tiêu âm thầm theo dõi giám sát một thư mục nào đó trên máy tính. Do trình ứng dụng thuộc loại Windows Service nên sau khi viết xong các bạn có thể cài đặt và vận hành nó giống như là một service

I. Tổng quan

Windows Services cung cấp phương tiện cho application logic chạy liên tục trên máy tính của bạn, thông thường là việc cung cấp điều khiển thiết bị hoặc các dịch vụ hệ điều hành.Windows Services là hữu dụng đối với các ứng dụng phía server mà ta muốn chúng phải luôn ở trạng thái sẵn sàng phục vụ các yêu cầu từ client. Nói chung, nếu bạn có nhu cầu xây dựng một trình ứng dụng mà bản chất hoạt động của nó mang tính “âm thầm làm việc” và không cần sự tương tác trực tiếp của người dùng, bạn có thể nghĩ ngay đến việc tạo trình ứng dụng loại Windows Service.

Windows Service là một ứng dụng chạy trên máy server hoặc workstation và cung cấp những chức năng mà sự diễn tiến của nó không cần sự tương tác trực tiếp của người dùng. Windows Services thường được dùng để giám sát hoạt động hệ thống.

Một Windows Service sẽ chạy trong tiến trình của riêng nó, không phụ thuộc người dùng hay các chương trình khác đang chạy trên cùng máy tính. Windows Services thường được cấu hình để tự động bắt đầu khi nào máy tính khởi động. Không giống như đa phần các ứng dụng, Windows Services chạy dưới nhận dạng bảo mật của chính nó, thay vì dưới nhận dạng của đăng nhập người dùng hiện hành. Chúng có thể bắt đầu chạy, ngay cả nếu không có người dùng (user) đăng nhập máy tính.

Khi mà bạn tạo một ứng dụng với mục tiêu ứng dụng này sẽ chạy như là một Windows Service, bạn cần phải lưu ý rằng nó không bao gồm bất kỳ các yếu tố giao tiếp người dùng như Message Boxes hay Dialog Boxes. Một Windows Service không có tính chất cung cấp một giao diện trực quan (visual interface) cho người dùng.

Thông thường một Windows Service sẽ báo cáo đặc thù các kết quả và thông báo lỗi của nó tới một sổ ghi biến cố (event log). Tuy nhiên bạn cũng có thể kết hợp nó với Web Service để làm những việc “động trời” hơn như là âm thầm chuyển thông tin từ máy mà nó đang được cài đặt đến một máy ở xa thông qua đường truyền internet.

Nếu như bạn đã quen thuộc với Microsoft SQL Server 2000, bạn sẽ nhận thấy nó chạy như là một Windows Service. Một ví dụ dễ hiểu của ứng dụng Windows ServiceWindows Time Service, nó cập nhật thông tin đồng hồ mà bạn thấy trên thanh taskbar của máy tính. Trước đây, việc phát triển các ứng dụng dạng này là rất khó khăn. Giờ đây, nhờ có .NET Framework chứa một tập các class, cung cấp các chức năng cơ bản cho việc cài đặt và phát triển dễ dàng các ứng dụng Windows Service trên nền C# .NET .

Không có nhận xét nào: