Window service là gì

Bài viết bây giờ, bản thân đã khuyên bảo các bạn sử dụng Windows Services trong C# với VB.NET để chế tác định kỳ gởi email hàng ngày. Trong .NET vẫn gồm cung ứng đến chúng ta tạo thành một các dịch vụ windows khôn cùng tiện lợi.

Bạn đang xem: Window service là gì

Mình ví dụ: Nếu các bạn viết một phần mềm thống trị nhân sự. Hằng hôm sau 7h30, các bạn muốn phát âm tài liệu từ bỏ đồ vật chấm công về database của bản thân mình thì chúng ta cũng đều có thể vận dụng nội dung bài viết này của chính mình, nhằm chế tạo một các dịch vụ sử dụng cho mục đích của người sử dụng.

Vậy Windows Services là gì?

Serives là áp dụng chạy ngầm của hệ quản lý Windows.

Dùng nhằm cách xử trí gần như quá trình nặng trĩu nằn nì với cần những thời hạn giỏi còn gọi là các long-running tasks (ví dụ gửi các email đang rất được xếp vào hàng chờ vào database, hoặc dùng để làm consolidate tài liệu thô – raw data thành dữ liệu có thể được dùng vào report).

cũng có thể chạy nhưng ko đề nghị thực hiện bối cảnh người dùng.

Hoạt cồn chủ quyền đối với bối cảnh người dùng, nên dễ ợt thực hiện Việc deploy, maintain.

Xem thêm: (Review) Bình Sữa Comotomo Có Tốt Không, Địa Chỉ Mua Bình Sữa Chính Hãng, Giá Rẻ

Rất dễ cài đặt chỉ với vài ba câu lệnh vào Comm& Prompt, hoặc tiện lợi hơn bạn có thể cần sử dụng file .bat để auto vấn đề kia dùm các bạn.

Có các option để khởi hễ cùng với hệ quản lý (startup type).

I. Thực hiện nay khuyên bảo gởi tin nhắn từng ngày bằng Windows services

1. Khái niệm: 

Trong bài viết này, các các dịch vụ Windows sẽ tiến hành một nhiệm vụ mỗi ngày trên 1 thời điểm cụ thể. Gọi là để đưa toàn bộ những làm hồ sơ của học viên gồm sinc nhật ngày lúc này.

Học sinc này sẽ nhận thấy một gmail có đựng Birthday mong mỏi auto vày những hình thức dịch vụ Windows.

2. Cửa hàng dữ liệu

Các bạn chế tạo ra một kết cấu dữ liệu như sau:

*

Nhập dữ liệu mẫu mã vào vào tbl_sinhvien

*

Sửa đổi các xử trí sự khiếu nại SchedularCallbackChúng tôi vẫn cần được sửa thay đổi SchedularCallback giải pháp xử lý sự kiện nhằm auto đem hồ sơ của học viên có một sinch nhật và gửi gmail.Lần trước tiên một truy vấn được tiến hành để mang tất cả những làm hồ sơ của học viên bằng phương pháp phối kết hợp những ngày và mon sinh của họ cùng với những ngày và mon tháng ngày hiện hành tương ứng.Sau kia, một vòng lặp được thực hiện cùng từng fan một một gmail được gửi mang đến từng sinh viên.Một Lúc những công tác được triển khai những hình thức dịch vụ Windows vào chế độ sinh sống và sẽ một đợt nữa tiến hành các nhiệm vụ tựa như sau 24 tiếng sinh hoạt thời hạn điều khoản.

Xem thêm: Captured Là Gì ? Nghĩa Của Từ Capture

Source code C#

private void SchedularCallback(object e) try DataTable dt = new DataTable(); string query = “SELECT Name, Thư điện tử FROM Students WHERE DATEPART(DAY, BirthDate) =
Month”; string constr = ConfigurationManager.ConnectionStrings<“constr”>.ConnectionString; using (SqlConnection nhỏ = new SqlConnection(constr)) using (SqlCommvà cmd = new SqlCommand(query)) cmd.Connection = con; cmd.Parameters.AddWithValue(“
Month”, DateTime.Today.Month); using (SqlDataAdapter sda = new SqlDataAdapter(cmd)) sdomain authority.Fill(dt); foreach(DataRow row in dt.Rows) string name = row<“Name”>.ToString(); string email = row<“Email”>.ToString(); WriteToFile(“Trying lớn sover gmail to: ” + name + ” ” + email); using (MailMessage mm = new MailMessage(“sender
gmail.com”, email)) milimet.Subject = “Birthday Greetings”; mm.Body = string.Format(“Happy Birthday 0Many happy returns of the day.”, name); milimet.IsBodyHtml = true; SmtpClient smtp = new SmtpClient(); smtp.Host = “smtp.email.com”; smtp.EnableSsl = true; System.Net.NetworkCredential credentials = new System.Net.NetworkCredential(); credentials.UserName = “sender
email.com”; credentials.Password = “”; smtp.UseDefaultCredentials = true; smtp.Credentials = credentials; smtp.Port = 587; smtp.Send(mm); WriteToFile(“Thư điện tử sent successfully to: ” + name + ” ” + email); this.ScheduleService(); catch (Exception ex) WriteToFile(“Simple Service Error on: 0 ” + ex.Message + ex.StackTrace); //Stop the Windows Service. using (System.ServiceProcess.ServiceController serviceController = new System.ServiceProcess.ServiceController(“SimpleService”)) serviceController.Stop(); Source code VB.NET

Private Sub SchedularCallback(e As Object) Try Dim dt As New DataTable() Dlặng query As String = “SELECT Name, E-Mail FROM Students WHERE DATEPART(DAY, BirthDate) =
Month” Dlặng constr As String = ConfigurationManager.ConnectionStrings(“constr”).ConnectionString Using con As New SqlConnection(constr) Using cmd As New SqlCommand(query) cmd.Connection = nhỏ cmd.Parameters.AddWithValue(“
Month”, DateTime.Today.Month) Using sda As New SqlDataAdapter(cmd) sda.Fill(dt) End Using End Using End Using For Each row As DataRow In dt.Rows Dyên ổn name As String = row(“Name”).ToString() Dyên gmail As String = row(“Email”).ToString() WriteToFile(“Trying to lớn sover gmail to: ” và name & ” ” & email) Using mm As New MailMessage(“sender
tin nhắn.com”, email) mm.Subject = “Birthday Greetings” mm.Body = String.Format(“Happy Birthday 0Many happy returns of the day.”, name) mm.IsBodyHtml = True Dyên smtp As New SmtpClient() smtp.Host = “smtp.email.com” smtp.EnableSsl = True Dlặng credentials As New System.Net.NetworkCredential() credentials.UserName = “sender
tin nhắn.com” credentials.Password = “” smtp.UseDefaultCredentials = True smtp.Credentials = credentials smtp.Port = 587 smtp.Send(mm) WriteToFile(“Thư điện tử sent successfully to: ” & name & ” ” & email) End Using Next Me.ScheduleService() Catch ex As Exception WriteToFile(“Simple Service Error on: 0 ” + ex.Message + ex.StackTrace) ‘Stop the Windows Service. Using serviceController As New System.ServiceProcess.ServiceController(“SimpleService”) serviceController.() End Using End TryEnd SubTheo http://laptrinhasp.com


Chuyên mục: Hỏi đáp công nghệ