Xây dựng một Windows Service đơn giản.

Một phần của tài liệu Giáo trình lập trình cơ sở dữ liệu (Trang 108 - 111)

- Về thái độ:

2. Xây dựng một Windows Service đơn giản.

Trong phần này bạn sẽ tạo ra và sau đó cài đặt dịch vụ Windows Service. Để giúp bạn quen với bước đầu viết Service, Visual Studio cung cấp kiểu dự án Service Windows, bạn chọn kiểu dự án này trong hộp thoại New Project thay cho dự án

108 Windows Application thông thường. Service chúng ta tạo trong chương này sẽ có tên là DemoService.

Dịch vụ Service của chúng ta, trong trường hợp này sẽ không thực hiện bất kỳ xử lý nào. Thay vào đó, dịch vụ sẽ ghi lại một số tác vụ truy xuất trong file sự kiện ở đĩa gốc là file DemoEvents.log. Service sẽ ghi vào file log thông báo thời gian dịch vụ bắt đầu và chấm dứt.

Để tạo ra một dịch vụ Windows sử dụng Visual Studio, bạn thực hiện những bước sau:

1. Trong Visual Studio, chọn File / New Project. 2. Visual Studio sẽ hiển thị hộp thoại New Project.

3. Trong hộp thoại New Project, chọn biểu tượng Windows Services. Gõ tên cho Service trong ô Name và nhấn OK.

4. Visual Studio sẽ hiển thị một cửa số biểu diễn cho Service. 5. Trong màn hình Design View, nhấn phím phải lên mục Project. 6. Visual Studio sẽ hiển thị một menu Popup. Chọn Properties từ menu. Visual Studio sẽ hiển thị các thuộc tính của dịch vụ.

Trong danh sách thuộc tính liệt kê, gán tên DemoService cho thuộc tính Service (không phải thuộc tính Name). Nhấn vào mục Code View để xem mã cài đặt của DemoService. Như đã nêu, mỗi khi DemoService bắt đầu, dịch vụ sẽ nối vào file log một chuỗi thông báo. Để thực hiện thao tác dẫn nhập file, bạn cần nhập thêm namespace System.IO như sau:

Imports System.IO

Sau đó đặt các phát biểu sau vào phương thức OnStart do Visual Studio sinh mã sẵn.

Như bạn có thể thấy, phát biểu mở file sau đó sử dụng phương thức WriteLine() để ghi dữ liệu. Để file có thể sử dụng lại, chúng ta không đóng file trọng phương thức OnStart(). Trong phương thức OnStop() chúng ta ghi thông báo cho biết Service kết thúc và file mở trước đây trong OnStart() sẽ được đóng lại.

109 Trước khi bạn có thể cài dịch vụ vào hệ thống Windows, bạn phải thêm mã cài đặt vào dự án DemoService, bạn thực hiện những bước sau:

1. Chọn Design View và nhấn chuột phải trên cửa sổ để hiện thị menu popup. 2. Trong menu Popup bạn chọn Add Installer. Visual Studio sẽ thêm hai thành phần vào dự án Service Process Installer và Service Installer.

Khi Windows cài đặt một dịch vụ, Windows cài đặt theo ngữ cảnh mà đặc quyền của dịch vụ có thể sử dụng. Nếu sử dụng Service Process Installer mà Visual Studio thêm vào dự án của bạn, bạn phải chỉ rõ một tài khoản trên hệ thống (tài khoản đặc biệt bạn tạo ra cho dịch vụ) dùng cho phép truy cập vào ngữ cảnh của dịch vụ. Trước hết, bạn phải chọn kiểu tài khoản như mô tả trong bảng dưới đây:

Kiểu tài khoản Mục đích

Local Service Định hướng Windows chạy dịch vụ trong ngữ cục bộ có một số đặc quyền ưu tiên.

Network Service Định hướng Windows chạy dịch vụ trong ngữ cảnh không được ưu tiên sử dụng tài khoản cục bộ.

Local System Hệ thống cục bộ, tương đương với một tài khoản vô danh đăng nhập sử dụng hệ thống.

User Định hướng Windows mỗi khi

chạy dịch vụ trong ngữ cảnh người dùng đều yêu cầu hỏi nhập trực tiếp username và password.

Tiếp đến là xác định username cho tài khoản. Nếu bạn không chỉ rõ thông tin ngữ cảnh tài khoản, Windows sẽ không thể cài đặt dịch vụ. Để chỉ rõ thông tin cài đặt của dịch vụ, hãy nhấn phím phải lên mục ServiceProcessInstaller trong cửa sổ

110 Properties, bạn chỉ định kiểu tài khoản như hình 9-5 và chọn loại user. Tiếp theo, biên dịch dịch vụ. Ở giai đoạn này, dịch vụ của bạn cần phải chứa các phát biểu xử lý, ở đây đơn giản chúng ta chỉ ghi ra log file trong sự kiện OnStart() và OnStop() của dịch vụ. Chọn Build / Build DemoService từ menu để biên dịch.

Một phần của tài liệu Giáo trình lập trình cơ sở dữ liệu (Trang 108 - 111)

Tải bản đầy đủ (PDF)

(187 trang)