Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 306 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
306
Dung lượng
1,65 MB
Nội dung
I Lời nói đầu Lậptrình hệ thống tảng Net FrameWork môi trờng phát triển mạnh mẽ dựa ngôn ngữ lậptrình nh Visual Bacsic.Net , Visual C#.Net Trong tµi liƯu nµy híng dÉn chi tiết ngời học cách tạo ứng dụng dịch vụ chạy Server môi trờng Net Framework, giúp ngời học tự thao tác lậptrình ứng dụng hệ thống nh: - LËp tr×nh víi windows server - LËp tr×nh víi đối tợng Net Remoting - Lậptrình với XML Web Service Để tìm hiểu rõ phần đề cập trên, ngời học phải lần lợt qua nội dung giáotrình từ học số đến bi học số Bài học số 1: Giới thiệu đầy đủ lý thuyết liên quan đến windows service vµ còng bµi häc nµy ngêi häc đợc hớng dẫn thao tác để tạo windows service ngôn ngữ Visual C#.NET Visual Basic.NET Bµi häc sè 2: Giíi thiƯu tíi ngêi häc kiến thức liên quan đến XML Web Service hớng dẫn cách tạo ứng dụng XML Web Service Bµi häc sè 3: Giíi thiƯu tíi ngêi học kiến thức liên quan đến NET Remoting vận dụng kiến thức để tạo triển khai ứng dụng Net Remoting theo trình tự thực chi tiết Trong giáotrình sử dụng tham khảo viết giáotrình MCAD/MCSD, trình dịch giảng có nhiều thuật ngữ truyền tải sang tiếng việt, thuật ngữ kỹ thuật đặc trung Công Nghệ Thông Tin, trình biên soạn tác giả để nguyên số cụm từ tiếng anh nhằm giữ nguyên ý nghĩa nh ý đồ giáotrình Bài 1:Tạo quản lý windows service I Mục tiêu Học xong ngời học đạt đợc kỹ sau: - Tạo đợc mét windows service - Qu¶n lý øng dơng windows service Trớc học yêu cầu: -Phải quen thuộc với Microsoft NET Framework kiến trúc -Phải có kiến thức lậptrình Microsoft Visual Basic.NET Microsoft Visual C # II Néi dung T¹o window service 1.1 Lý thuyết liên quan 1.1.1Tổng quan dịch vụ Windows Các dịch vụ Windows chạy nh tiến trình tảng Các ứng dụng giao diện ngời dùng, chúng làm nhiệm vụ ngầm định mà không yêu cầu tơng tác ngời dùng Bạn cài đặt dịch vụ Windows máy chủ máy tính chạy Windows 2000, Windows XP, Windows NT Bạn định dịch vụ Windows để chạy bối cảnh an ninh ( chế độ bảo mật ) tài khoản ngời dùng cụ thể chạy mặc định theo tài khoản hành windows Ví dụ, bạn tạo dịch vụ Windows để giám sát hiệu suất truy cập liệu hoạt động sở liệu Bạn tạo dịch vụ Windows để thực nhiệm vụ, chẳng hạn nh quản lý kết nối mạng giám sát truy cập sử dụng tài nguyên Bạn sử dụng dịch vụ Windows để thu thập phân tích liệu sử dụng hệ thống kiện đăng nhập hệ thống ghi kiện tùy chỉnh Bạn xem danh sách dịch vụ chạy máy tính lúc cách mở Administrative Tools từ Control Panel, sau mở Services Hình 2.1 hiển thị cửa sổ Services Một dịch vụ Windows đợc cài đặt registry nh đối tợng thực thi Service Control Manager (SCM) quản lý tất dịch vụ Windows Service Control Manager, gọi thủ tục từ xa (RPC) máy chủ, hỗ trợ quản lý địa phơng từ xa dịch vụ Bạn tạo ứng dụng kiểm soát dịch vụ Windows thông qua SCM cách sử dụng Visual Studio NET NET Framework Cung cấp lớp cho phép bạn tạo ra, cài đặt, kiểm soát dịch vụ Windows cách dễ dàng Kiến trúc dịch vụ Windows bao gồm ba thành phần: - Dịch vụ øng dơng : Mét øng dơng bao gåm mét hc nhiều dịch vụ cung cấp chức mong muốn - Dịch vụ điều khiển ứng dụng: Một ứng dụng cho phép bạn kiểm soát hành vi dịch vụ - Kiểm soát dịch vụ quản lý: Một tiện ích cho phép bạn kiểm soát dịch vụ đợc cài đặt máy tính Bạn tạo dịch vụ Windows cách sử dụng ngôn ngữ NET, chẳng hạn nh Visual C # Visual Basic NET Các không gian tên System.ServiceProcess NET Framework Chứa lớp cho phép bạn tạo ra, cài đặt, thực hiện, kiểm soát dịch vụ Windows Bạn sử dụng phơng thức lớp ServiceBase để tạo dịch vụ Windows Sau bạn tạo ứng dụng dịch vụ Windows, bạn cài đặt cách đăng ký ứng dụng registry máy tính Bạn sử dụng lớp học ServiceInstaller ServiceProcessInstaller để cài đặt dịch vụ Windows Bạn xem tất ứng dụng dịch vụ đăng ký registry Windows dới HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services Sau bạn cài đặt dịch vụ, bạn cần để bắt đầu Bạn sử dụng lớp ServiceController SCM để bắt đầu, dừng lại, tạm dừng, tiếp tục dịch vụ Windows Các lớp ServiceController cho phép bạn thực lệnh tùy chỉnh dịch vụ Sau bạn bắt đầu ứng dụng dịch vụ máy tÝnh, nã cã thĨ tån t¹i mét ch¹y, t¹m dừng dừng lại nhà nớc Ngoài ra, dịch vụ đợc trạng thái chờ Một trạng thái chờ lệnh, chẳng hạn nh lệnh để tạm dừng dịch vụ, đợc ban hành nhng cha hoàn tất Dịch vụ Windows đợc phân loại dựa số lợng dịch vụ chạy không gian tiến trình (process) Bạn có dịch vụ chạy không tiến trình nhiều dịch vụ chia sẻ tiến trình không gian Các dịch vụ mà sử dụng tiến trình không gian đợc gọi dịch vụ Win32OwnProcess, dịch vụ chia sẻ tiến trình với dịch vụ khác đợc gọi Win32ShareProcess service Sự khác ứng dụng windows service Visual Studio.NET application Windows service khác ứng dụng Visual Studio.net khác.Các phần đặc tính sau nói nên khác biệt Cài đặt Windows dịch vụ Không giống nh dự án Visual Studio khác, bạn cần phải cài đặt ứng dụng dịch vụ trớc dịch vụ chạy Để đăng ký cài đặt dịch vụ, trớc tiên bạn cần phải thêm thành phần cài đặt ứng dụng dịch vụ Bạn học cách cài đặt ứng dụng dịch vụ sau Sửa lỗi Bạn gỡ lỗi ứng dụng dịch vụ cách nhấn F5 phím F11 nh bạn làm với ứng dụng application khác Visual Studio NET Để gỡ lỗi ứng dụng dịch vụ, bạn cần cài đặt bắt đầu dịch vụ, sau đính kèm debugger đến tiến trình dịch vụ Thực dịch vụ Windows Trong dịch vụ Windows, phơng thức Run tải dịch vụ vào SCM Bạn gọi phơng thức Run phơng thøc Main cđa mét øng dơng dÞch vơ Mét sù khác biệt thực dịch vụ Windows ứng dụng Visual Studio.NET khác hộp thoại tùy chỉnh (dialog boxes raised) từ dịch vụ Windows không hiển thị cho ngời dùng Ngoài ra, thông báo lỗi đợc tạo từ dịch vụ Windows đợc đăng nhập ghi kiện Bạn định dịch vụ Windows chạy bối cảnh an ninh họ Vì vậy, dịch vụ Windows bắt đầu trớc ngời dùng đăng nhập tiếp tục chạy sau ngời dùng đăng nhập Mô hình lậptrình ứng dụng Window Services Chúng ta tạo ứng dụng Window services cách sử dụng lớp không gian tên (namespace) System.ServiceProcess Chúng ta sử dụng phơng thức lớp không gian tên để cung cấp chức tới ứng dụng dịch vụ chóng ta Table 1-1 Some of the Classes of the System.ServiceProcess Namespace Class ServiceBase Description Bạn ghi đè lên phơng thức lớp ServiceBase để tạo ứng dụng dịch vụ Các phơng thức lớp cho phép bạn xác định hành vi ứng dụng dịch vụ bạn ServiceProcessInstalle r ServiceInstaller Những lớp học cho phép bạn xác định trình cài đặt gỡ bỏ cài đặt ứng dụng dịch vụ bạn Các phơng thức lớp cho phép bạn thao tác (behavior) hành vi ứng dụng dịch vụ bạn tạo Ví dụ, ServiceController bạn sử dụng phơng thức lớp để bắt đầu dừng dịch vụ Bạn sử dụng phơng thức lớp ứng dụng mà bạn tạo để quản lý kiểm soát dịch vụ Ngoài lớp không gian tên System.ServiceProcess, sử dụng lớp không gian tên System.Diagnostics để giám sát trạng thái gỡ lỗi dịch vụ chạy Table 1-2 Some of the Classes of the System.Diagnostics Namespace Class EventLog Description Các methods ( phơng thức ) lớp cho phép dịch vụ bạn báo cáo lỗi ghi kiện( Event logs) Các methods( phơng thức) lớp PerformanceCounter cho phép bạn sử dụng counters (bộ đếm) hiệu suất , giám sát việc sử dụng tài nguyên Các phơng thức lớp cho phép bạn gỡ lỗi mã lậptrình (code) Trace and Debug bạn cung cấp cho bạn với phơng thức properties ( thuộc tính) gióp b¹n theo dâi viƯc thùc hiƯn cđa m· lƯnh bạn Để tạo Window service, tạo mét líp ®Ĩ më réng líp System.ServiceProcess.ServiceBase Chóng ta ghi đè chức lớp ServiceBase để tùy chỉnh hành vi ứng dụng dịch vụ Table 2-3 Methods of the ServiceBase Class 10 RemotingConfiguration.Configure("Central.config") Console.WriteLine("The host application is currently " & _ "running Press Enter to exit.") Console.ReadLine() End Sub 'Main End Class 'ServerProcess Visual C# using System; using System.Runtime.Remoting; public class Server { public static void Main(string[] Args) { RemotingConfiguration.Configure("Central.config"); Console.WriteLine("The host application is currently " + "running Press Enter to exit."); Console.ReadLine(); } } 2- Lu tập tin nh Server.vb Server.cs 3-Biên dịch m· file Server.vb b»ng c¸ch gâ VBC / r: ChatCoordinator.dll Server.vb biên dịch tập tin 292 Server.cs b»ng c¸ch gâ csc / r: ChatCoordinator.dll Server.cs t¹i cđa Visual Studio NET Command Prompt T¹o Client Chat B¹n sÏ t¹o mét øng dơng chat client dựa giao diện điều khiển Các ứng dụng chat client bao gồm lớp ChatClient, gọi phơng thức đối tợng ChatCoordinator remotable Lớp ChatClient chứa phơng pháp Run phơng thức SubmissionReceiver Các phơng thức Run cấu hình đối tợng máy khách Các giá trị cấu hình đợc quy định cụ thể file Client.config Để tạo ứng dụng chat client, thực bớc sau: 1- Mở Notepad gõ đoạn mã sau Visual Basic NET Imports System Imports System.Runtime.Remoting Imports System.Runtime.Remoting.Channels Imports Microsoft.VisualBasic Public Class ChatClient Inherits MarshalByRefObject Public Overrides Function InitializeLifetimeService() As Object Return Nothing End Function Private username As String = Nothing 293 Public Sub New(ByVal [alias] As String) Me.username = [alias] End Sub Public Sub Run() RemotingConfiguration.Configure("Client.config") Dim chatcenter As New ChatCoordinator() AddHandler chatcenter.Submission, AddressOf Me.SubmissionReceiver Dim userInput As String = "" While True Console.WriteLine("Press (zero) and ENTER to Exit:") userInput = Console.ReadLine() If userInput = "0" Then Exit While chatcenter.Submit(userInput, username) End While RemoveHandler chatcenter.Submission, AddressOf _ Me.SubmissionReceiver End Sub Public Sub SubmissionReceiver(ByVal sender As Object, ByVal args As _ SubmitEventArgs) If args.Contributor = username Then Console.WriteLine("Your message was broadcast.") Else Console.WriteLine(args.Contributor & " says:" & _ args.Contribution) End If End Sub 'SubmissionReceiver 294 Public Shared Sub Main() Dim Args() As String = Environment.GetCommandLineArgs() If Args.Length Then Console.WriteLine("You need to type an alias.") Return End If Dim client As New ChatClient(Args(1)) client.Run() End Sub 'Main End Class 'ChatClient Visual C# using System; using System.Runtime.Remoting; using System.Runtime.Remoting.Channels; using System.Runtime.Remoting.Channels.Http; public class ChatClient : MarshalByRefObject { private string username = null; public override object InitializeLifetimeService() { return null; } public ChatClient(string alias) { this.username = alias; } 295 public void Run() { RemotingConfiguration.Configure("Client.config"); ChatCoordinator chatcenter = new ChatCoordinator(); chatcenter.Submission += new SubmissionEventHandler(this.SubmissionReceiver); String keyState = ""; while (true) { Console.WriteLine("Press (zero) and ENTER to Exit:\r\n"); keyState = Console.ReadLine(); if (String.Compare(keyState,"0", true) == 0) break; chatcenter.Submit(keyState, username); } chatcenter.Submission -= new SubmissionEventHandler(this.SubmissionReceiver); } public void SubmissionReceiver(object sender, SubmitEventArgs args) { if (String.Compare(args.Contributor, username, true) == 0) { Console.WriteLine("Your message was broadcast."); } else 296 Console.WriteLine(args.Contributor + " says: " + args.Contribution); } public static void Main(string[] Args) { if (Args.Length != 1) { Console.WriteLine("You need to type an alias."); return; } ChatClient client = new ChatClient(Args[0]); client.Run(); } } 2-Lu tËp tin nh Client.vb hc Client.cs 3-Biên dịch mã Client.vb cách gõ VBC / r: ChatCoordinator.dll Client.vb biên dịch cách gõ Client.cs csc / r: ChatCoordinator.dll Client.cs Visual Studio NET Command Prompt Tạo tập tin cấu hình để cấu hình đối t ợng ChatClient Bạn tạo tập tin Client.config định thiết lập để cấu hình đối tợng ChatClient Để tạo file Client.config, thực bớc sau: 1- Mở Notepad gõ đoạn mã sau 297 XML 2- Lu tËp tin víi tªn Client.config Thùc ứng dụng chat Bạn chạy ứng dụng chat mà bạn tạo tập trớc Để chạy ứng dụng chat, thực bớc sau: 1- Më Command Studio Visual Prompt vµo th mơc mà bạn lu server.exe, ChatCoordinator.dll, tập tin Server.config 2- Gõ vào Server dấu nhắc lệnh Hiện nh hình dới 298 3- Mở lệnh Studio Visual Prompt vào th mục mà bạn lu Client.exe, ChatCoordinator.dll, tập tin Client.config 4-Gõ vào Client UserName dấu nhắc lệnh Nh hình dới hiển thị gõ vào Client User1 5- Mở vài Visual Studio NET Command Prompts truy cập đến đờng dẫn th mục mà bạn lu Client.exe, ChatCoordinator.dll, tập tin Client.config 299 6-Gõ Client UserName dấu nhắc lệnh, sử dụng tên ngời dùng khác 7-Gửi tin nhắn từ ứng dụng máy khách Một số thông tin User1 gửi nhận đợc từ ngời dùng khác đợc hiển thị Gửi tin nhắn từ ứng dụng khách hàng Một số thông điệp User1 gửi nhận đợc từ ngời dùng khác đợc hiển thị Các thông tin mà User2 nhận đợc từ gửi cho ngời dùng khác đợc hiển thị 300 301 III Tóm tắt trình tự thực quy trình công nghệ STT Tên bớc công việc Dụng cụ, thiết bị, vật t Tạo th viện Notepad, ChatCoordinator.d Visual ll Studio.NET Thực bớc trình tự thực Tạo tập tin Notepad, cấu hình Cấu Visual hình đối tợng Studio.NET ChatCoordinator Thực bớc trình tự thực Tạo ứng dụng Console để Kích hoạt đối tợng ChatCoordinator Notepad, Visual Studio.NET Thực bớc trình tự thực Tạo Client Chat Notepad, Visual Studio.NET Thực bớc trình tự thực Tạo tập tin Notepad, cấu hình để cấu Visual hình đối tợng Studio.NET ChatClient Thực bớc trình tự thực hiƯn Thùc hiƯn c¸c øng Notepad, dơng chat Visual Studio.NET Thực bớc trình tự thực 302 Yêu cầu kỹ thuật Các ý an toàn lao động 303 IV Tài liệu thao khảo 1) Giáotrình -MCAD/MCSD DevelopingXML WEB SERVICE SERVER COMPONENTS WITH MICROSOFT VISUAL BASIC.NET WITH MICROSOFT VISUAL C#.NET 2)MSDN Library 304 V Mục lục I Lời nói đầu II nội dung tổng quát phân bổ thời gian mô-đun III Nội dung tài liÖu Bài 1:Tạo quản lý windows service I Mơc tiªu .3 II Néi dung .3 T¹o window service 1.1 Lý thuyÕt liªn quan 1.1.1Tæng quan dịch vụ Windows 1.1.2.Tạo windows service 11 1.2.3.Điều khiển kiện thông tin đăng nhập từ ứng dụng dịch vụ Windows .27 1.1.4 Thêm trình cài đặt, thiết đặt bảo mật,hủy cài đặt mét dÞch vơ Windows 42 1.1.5.Qu¶n lý mét window service 56 1.1.6 CÊu hình gỡ lỗi dịch vụ Windows .74 1.2.Trình tự thao tác 83 III Tóm tắt trình tự thực quy trình công nghệ 121 Bài 2: Tạo ứng dụng dịch vụ Web XML 122 I.Mơc tiªu 122 II.Néi dung 122 2.1.1 T×m hiĨu XML Web Services Tổng quan dịch vụ Web XML 122 2.1.2 T¹o XML Web Services 129 2.1.3 Phát triển công bố mét XML Web Service 153 2.1.4 Tiªu Thơ a service Web XML(Consuming an XML Web Service) 161 2.2 Trình tự thao tác 184 2.2.1Tạo triển khai hoạt động dịch vụ Web XML .184 2.2.2 T¹o mét øng dơng Windows Client .195 III Tóm tắt trình tự thực quy trình công nghệ 205 Bài 3:Tạo sử dụng đối tỵng Net Remoting 206 I Mơc tiªu .206 Học xong ngời học đạt đợc kỹ sau: .206 305 - Kỹ lậptrình với ứng dụng Net Remoting 206 - Kỹ triển khai c¸c øng dơng Net Remoting .206 - Kỹ cấu hình dịch vụ ứng dụng Net Remoting .206 II Néi dung 206 3.1 Lý thuyÕt liªn quan .206 3.1.1 T×m hiĨu vỊ Net Remoting 206 3.2 Tr×nh tự thao tác Tạo sử dụng đối tợng Net Remoting 246 III Tóm tắt trình tự thực quy trình công nghệ 262 IV Tài liệu thao kh¶o 263 V Môc lôc 264 306 ...Trong giáo trình sử dụng tham khảo viết giáo trình MCAD/MCSD, trình dịch giảng có nhiều thuật ngữ truyền tải sang tiếng việt, thuật ngữ kỹ thuật đặc trung Công Nghệ Thông Tin, trình biên... không gian tiến trình (process) Bạn có dịch vụ chạy không tiến trình nhiều dịch vụ chia sẻ tiến trình không gian Các dịch vụ mà sử dụng tiến trình không gian đợc gọi dịch vụ Win32OwnProcess, dịch... bạn sử dụng lớp ServiceController để lập trình điều khiển dịch vụ Table 2. 4 mô tả thức lớp ServiceController mà bạn sử dụng để kiểm soát hành vi dịch vụ Table 2- 4 Methods of the ServiceController