Các giải pháp lập trình CSharp- P24

Lượt xem: 19,583Lượt tải: 10Số trang: 10

Mô tả tài liệu

Các giải pháp lập trình CSharp- P24: Các giải pháp lập trình C# khảo sát chiều rộng của thư viện lớp .NET Framework và cung cấp giải pháp cụ thể cho các vấn đề thường gặp. Mỗi giải pháp được trình bày theo dạng “vấn đề/giải pháp” một cách ngắn gọn và kèm theo là các ví dụ mẫu.

Tóm tắt nội dung

231 Chương 6: Windows Form Hình 6.14 Phong cách Windows XP và phong cách kinh điển  Nếu bạn áp dụng file manifest cho một ứng dụng đang chạy trên phiên bản Windows trước Windows XP, nó sẽ bị bỏ qua, và phong cách kinh điển sẽ được sử dụng. Vì lý do này, bạn nên thử nghiệm ứng dụng của bạn cả khi có và không có file manifest. 21.21. Thay đ i đ đ c c a formổ ộ ụ ủThay đ i đ đ c c a formổ ộ ụ ủ  Bạn muốn thay đổi độ đục của form để nó trong suốt hơn khi xuất hiện  Thiết lập thuộc tính Opacity của form với một giá trị nằm giữa 0% và 100%. Thuộc tính Opacity của một form kiểm soát mức độ đục hay trong của một cửa sổ. Ở mức 100%, form xuất hiện với trạng thái mặc định, nghĩa là không có các vùng trong suốt trên form. Ở mức 0%, form hoàn toàn trong suốt, cũng có nghĩa bạn không thể tương tác với form được nữa. Khi thay đổi độ đục của một form bằng mã lệnh, bạn phải sử dụng một số thực nằm giữa 0.0 và 1.0: private void Form1_MouseEnter(object sender, System.EventArgs e) { this.Opacity = 1.0; } private void Form1_MouseLeave(object sender, System.EventArgs e) { this.Opacity = 0.8; } 232 Chương 6: Windows Form Nếu chỉ muốn trong suốt những vùng nào đó trên form, bạn hãy sử dụng thuộc tính TransparencyKey. Bạn định nghĩa thuộc tính này là một màu nào đó. Nếu bất kỳ phần nào của form trùng với màu đó, nó sẽ trở nên trong suốt. Hình 6.15 trình bày một form với độ đục 80%. Chúng ta đặt một điều kiểm Panel lên form và thiết lập màu nền của Panel là màu mà ta đã định nghĩa trong thuộc tính TransparencyKey của form. Như thế, form sẽ trong suốt trên vùng thuộc Panel. Hình 6.15 Một form với độ đục 80% và một Panel có màu nền giống với thuộc tính TransparencyKey của form Bạn có thể bắt gặp một số ứng dụng dùng hình bitmap làm giao diện người dùng, nhất là các kiểu media player. Bạn có thể tạo kiểu giao diện thế này bằng cách tạo một hình bitmap với những vùng nào đó có màu là màu mà bạn muốn trong suốt. Kế tiếp, thiết lập thuộc tính BackgroundImage của form là file bitmap mà bạn đã tạo. Cuối cùng, thiết lập thuộc tính TransparencyKey của form là màu mà bạn muốn trong suốt trong hình bitmap. Bitmap Img = ((Bitmap)(Bitmap.FromFile("C:\\Example.bmp"))); // Màu tại Pixel(10,10) được sử dụng làm màu trong suốt. Img.MakeTransparent(Img.GetPixel(10, 10)); this.BackgroundImage = Img; this.TransparencyKey = Img.GetPixel(10, 10); Bạn cũng có thể gỡ bỏ thanh tiêu đề của form bằng cách thiết lập FormBorderStyle là None (xem mục 6.14). Để form có thể di chuyển được trong trường hợp này, bạn hãy áp dụng mục 233 Chương 6: Windows Form 6.15. Trên đây là một cách để tạo form có hình dáng bất thường, một cách khác sẽ được trình bày trong mục 8.3. 7 234 Chương 7:ASP.NET VÀ WEB FORM 235 236 Chương 7: ASP.NET và Web Form icrosoft ASP.NET là một nền dùng để phát triển các ứng dụng Web, và nó là một phần của Microsoft .NET Framework. ASP.NET cho phép bạn viết dịch vụ Web XML (sẽ được thảo luận trong chương 12) và phát triển website (được thảo luận trong chương này). Các trang ASP.NET sử dụng mô hình điều kiểm dựa-trên-sự-kiện, khiến cho việc viết mã cho chúng cũng tương tự như viết mã cho các ứng dụng dựa-trên-Windows thông thường. Tuy nhiên, sự tương tự này có thể là giả tạo. Như hầu hết các nhà phát triển ASP.NET chứng thực, các ứng dụng Web có cách diễn đạt riêng của chúng. Ví dụ, bạn sẽ cần thực hiện thêm các bước để duy trì trạng thái, chuyển thông tin giữa các trang, thụ lý những sự kiện phía client, thực hiện xác thực, và bảo đảm hiệu năng tối ưu khi sử dụng cơ sở dữ liệu. Chương này sẽ xem xét tất cả các vấn đề này. M  Chương này sẽ không giới thiệu về ASP.NET. Thay vào đó, chương này sẽ giúp những nhà phát triển ASP.NET trung cấp giải quyết những vấn đề thường gặp. Để tìm hiểu căn bản về ASP.NET, hãy vào trang [http://www.asp.net] hoặc tham khảo ở các tài liệu khác chuyên về ASP.NET. Các mục trong chương này trình bày các vấn đề sau đây:  Chuyển hướng các yêu cầu của người dùng (mục 7.1).  Duy trì trạng thái giữa các yêu cầu trang (mục 7.2 và 7.3).  Sử dụng JavaScript để cải tiến giao diện với các tính năng phía client (mục 7.4, 7.5, và 7.6).  Cho phép người dùng upload file (mục 7.7).  Xác thực client theo hai cách: Xác thực tích hợp với Windows (mục 7.8) và xác thực dựa-trên-form (mục 7.9).  Xác nhận tính hợp lệ của đầu vào mà không sử dụng điều kiểm validator của ASP.NET (mục 7.10).  Tạo động điều kiểm web (mục 7.11), hình ảnh (mục 7.12), và điều kiểm người dùng (mục 7.13).  Cải thiện hiệu năng với output-caching (mục 7.14) và data-caching (mục 7.15).  Giải quyết thông báo lỗi “Unable to start debugging on the Web server” (mục 7.16).  Thay đổi ngữ cảnh tài khoản Windows mà một ứng dụng ASP.NET chạy trong đó (mục 7.17). Chương này sử dụng các lớp web cơ bản thuộc không gian tên System.Web và các lớp điều kiểm web thuộc không gian tên System.Web.UI.WebControls. Khi sử dụng các lớp trong các không gian tên này, tên lớp đầy đủ sẽ không được chỉ định. 1.1. Chuy n h ng ng i dùng sang trang khácể ướ ườChuy n h ng ng i dùng sang trang khácể ướ ườ  Bạn cần chuyển sự thực thi từ một trang ASP.NET sang một trang khác, hoặc bạn muốn chuyển người dùng đến một site hoàn toàn khác. 237 Chương 7: ASP.NET và Web Form  Sử dụng phương thức HttpResponse.Redirect để chuyển người dùng đến một URL mới, hoặc sử dụng phương thức HttpServerUtility.Transfer (nhanh hơn) để chuyển người dùng đến một Web Form ASP.NET khác trên cùng server. Cách dễ nhất để chuyển người dùng từ một trang này đến một trang khác là sử dụng phương thức HttpResponse.Redirect và cấp một URL mới. Bạn có thể truy xuất đối tượng HttpResponse hiện tại thông qua đối tượng HttpContext hoặc sử dụng thuộc tính Reponse của đối tượng Page hoặc Control. Phương thức thụ lý sự kiện dưới đây (đáp ứng cho một cú nhắp chuột vào Button) sẽ chuyển người dùng đến một trang ASP.NET mới: private void cmdRedirect_Click(object sender, System.EventArgs e) { Response.Redirect("newpage.aspx"); } Phương thức Redirect có thể làm việc với URL tương đối (chỉ đến những tài nguyên trong cùng thư mục ảo), và với URL đầy đủ. URL có thể chỉ đến trang ASP.NET khác, kiểu tài liệu khác (như trang HTML hoặc hình ảnh), và web-server khác. Phương thức Redirect gửi chỉ thị chuyển hướng đến trình duyệt. Kế đó, trình duyệt sẽ yêu cầu trang mới. Kết quả là trình duyệt phải thực hiện hai chuyến đến web-server, và web-server phải xử lý thêm một yêu cầu nữa. Một tùy chọn hiệu quả hơn là sử dụng phương thức HttpServerUtility.Transfer, phương thức này sẽ chuyển sự thực thi đến một trang ASP.NET khác trên cùng web-server. Ví dụ: private void cmdRedirect_Click(object sender, System.EventArgs e) { Server.Transfer("newpage.aspx"); } Phương thức Transfer không cần thêm một chuyến đến client, nhưng nó sẽ không làm việc nếu bạn cần chuyển sự thực thi đến một server khác hoặc một kiểu tài nguyên khác với Web Form (bao gồm trang ASP cổ điển). 2.2. Duy trì tr ng thái gi a các yêu c u c a trangạ ữ ầ ủDuy trì tr ng thái gi a các yêu c u c a trangạ ữ ầ ủ  Bạn cần lưu trữ vài thông tin đặc thù của người dùng giữa các lần postback của trang.  Sử dụng view state (trạng thái nhìn), query string argument (đối số chuỗi truy vấn), session state (trạng thái phiên làm việc), hoặc cookie, tùy thuộc vào nhu cầu của bạn. ASP.NET là một mô hình lập trình phi trạng thái (stateless programming model). Mỗi khi một postback được phát sinh, mã sẽ nạp vào bộ nhớ, thực thi, và được giải phóng khỏi bộ nhớ. Nếu muốn giữ lại vết của thông tin sau khi mã đã hoàn tất việc xử lý, bạn phải sử dụng các kiểu quản lý trạng thái (state management). 238 Chương 7: ASP.NET và Web Form ASP.NET cung cấp nhiều cách để lưu trữ thông tin, hay trạng thái, giữa các yêu cầu (request). Kiểu trạng thái mà bạn sử dụng cho biết: thông tin sẽ sống bao lâu, sẽ được lưu trữ ở đâu, và sẽ được bảo mật như thế nào. Bảng 7.1 liệt kê những tùy chọn trạng thái khác nhau được cấp bởi ASP.NET. Bảng này không chứa đối tượng Cache, đối tượng này cung cấp kho lưu trữ tạm thời và sẽ được mô tả trong mục 7.5. Cú pháp cho các phương pháp lưu trữ dữ liệu là như nhau. Dữ liệu được lưu trữ trong một đối tượng tập hợp và được đánh chỉ mục bằng một tên chuỗi. Bảng 7.1 Các kiểu quản lý trạng thái Kiểu trạng thái Dữ liệu được phép Vị trí lưu trữ Thời gian sống Bảo mật View state Tất cả các kiểu dữ liệu khả-tuần- tự-hóa .NET. Một trường ẩn trong trang web hiện hành. Bị mất khi người dùng chuyển sang một trang khác. Mặc định là không an toàn. Tuy nhiên, bạn có thể sử dụng các chỉ thị trang để thực hiện mật hóa và băm để ngăn dữ liệu bị phá. Query string Dữ liệu chuỗi. Chuỗi URL của trình duyệt. Bị mất khi người dùng nhập một URL mới hoặc đóng trình duyệt. Tuy nhiên, nó có thể được lưu trữ trong một bookmark. Người dùng có thể nhìn thấy được và chỉnh sửa dễ dàng. Session state Tất cả các kiểu dữ liệu khả-tuần- tự-hóa .NET. Bộ nhớ server (có thể được cấu hình cho một tiến trình hoặc cơ sở dữ liệu bên ngoài). Hết hiệu lực sau một khoảng thời gian được định nghĩa trước (thường là 20 phút, nhưng khoảng thời gian này có thể thay đổi được). An toàn vì dữ liệu không bao giờ được chuyển cho client. Cookie Dữ liệu chuỗi. Máy tính client (trong bộ nhớ hoặc một file text, tùy thuộc vào các thiết lập cho thời gian sống của nó). Được thiết lập bởi lập trình viên. Có thể được sử dụng trong nhiều trang và có thể vẫn còn giữa các lần viếng thăm. Không an toàn, và có thể bị người dùng chỉnh sửa. 239 Chương 7: ASP.NET và Web Form Applicatio n state Tất cả các kiểu dữ liệu khả-tuần- tự-hóa .NET. Bộ nhớ server. Thời gian sống của ứng dụng (cho đến khi server được khởi động lại). Không giống với các phương pháp khác, dữ liệu ứng dụng là toàn cục đối với tất cả các người dùng. An toàn vì dữ liệu không bao giờ được chuyển cho client. Hình 7.1 trình bày một trang web thử nghiệm các kiểu quản lý trạng thái khác nhau. Khi người dùng nhắp vào nút Store Data, một đối tượng System.DateTime sẽ được tạo ra và được lưu trữ trong view state, session state, và một cookie tùy biến. Khi người dùng nhắp vào nút Get Data, thông tin này sẽ được lấy ra và hiển thị. Cuối cùng, nút Clear Data sẽ xóa thông tin này trong tất cả các trạng thái. Hình 7.1 Thử nghiệm các kiểu quản lý trạng thái Dưới đây là phần mã cho trang: using System; using System.Web; using System.Web.UI.WebControls; using System.Web.SessionState; public class TestState : System.Web.UI.Page { protected System.Web.UI.WebControls.Button cmdClear; protected System.Web.UI.WebControls.Button cmdStore; 240 Chương 7: ASP.NET và Web Form protected System.Web.UI.WebControls.Button cmdGetData; protected System.Web.UI.WebControls.Label lblData; // (Bỏ qua phần mã designer.) private void cmdStore_Click(object sender, System.EventArgs e) { // Tạo đối tượng thử nghiệm. DateTime now = DateTime.Now; // Lưu trữ đối tượng trong view state. ViewState["TestData"] = now; // Lưu trữ đối tượng trong session state. Session["TestData"] = now; // Lưu trữ đối tượng trong một cookie tùy biến. // Kiểm tra xem cookie đã tồn tại hay chưa (có tên là 07-02). if (Request.Cookies["07-02"] == null) { // Tạo cookie. HttpCookie cookie = new HttpCookie("07-02"); // Cookie chỉ có thể lưu trữ dữ liệu chuỗi. // Nó có thể lưu trữ nhiều giá trị, // mỗi giá trị ứng với một khóa khác nhau. cookie["TestData"] = now.ToString(); // (Bạn có thể chỉnh sửa các thuộc tính // của cookie để thay đổi ngày hết hiệu lực.) // Gắn cookie vào đáp ứng. // Nó sẽ được cung cấp với tất cả các yêu cầu đến // site này cho đến khi hết hiệu lực. Response.Cookies.Add(cookie); LỜI NÓI ĐẦU CẤU TRÚC CỦA SÁCH QUY ƯỚC YÊU CẦU VỀ HỆ THỐNG CÁCH SỬ DỤNG ĐĨA CD MỤC LỤC Chương 1:PHÁT TRIỂN ỨNG DỤNG 1. Tạo ứng dụng Console 2. Tạo ứng dụng dựa-trên-Windows 3. Tạo và sử dụng module 4. Tạo và sử dụng thư viện 5. Truy xuất các đối số dòng lệnh 6. Chọn biên dịch một khối mã vào file thực thi 7. Truy xuất một phần tử chương trình có tên trùng với một từ khóa 8. Tạo và quản lý cặp khóa tên mạnh 9. Tạo tên mạnh cho assembly 10. Xác minh một assembly tên mạnh không bị sửa đổi 11. Hoãn việc ký assembly 12. Ký assembly với chữ ký số Authenticode 13. Tạo và thiết lập tin tưởng một SPC thử nghiệm 14. Quản lý Global Assembly Cache 15. Ngăn người khác dịch ngược mã nguồn của bạn Chương 2:THAO TÁC DỮ LIỆU 1. Thao tác chuỗi một cách hiệu quả 2. Mã hóa chuỗi bằng các kiểu mã hóa ký tự 3. Chuyển các kiểu giá trị cơ bản thành mảng kiểu byte 4. Mã hóa dữ liệu nhị phân thành văn bản 5. Sử dụng biểu thức chính quy để kiểm tra dữ liệu nhập 6. Sử dụng biểu thức chính quy đã được biên dịch 7. Tạo ngày và giờ từ chuỗi 8. Cộng, trừ, so sánh ngày giờ 9. Sắp xếp một mảng hoặc một ArrayList 10. Chép một tập hợp vào một mảng 11. Tạo một tập hợp kiểu mạnh 12. Lưu một đối tượng khả-tuần-tự-hóa vào file Chương 3:MIỀN ỨNG DỤNG, CƠ CHẾ PHẢN CHIẾU, VÀ SIÊU DỮ LIỆU 1. Tạo miền ứng dụng 2. Chuyển các đối tượng qua lại các miền ứng dụng 3. Tránh nạp các assembly không cần thiết vào miền ứng dụng 4. Tạo kiểu không thể vượt qua biên miền ứng dụng 5. Nạp assembly vào miền ứng dụng hiện hành 6. Thực thi assembly ở miền ứng dụng khác 7. Thể hiện hóa một kiểu trong miền ứng dụng khác 8. Truyền dữ liệu giữa các miền ứng dụng 9. Giải phóng assembly và miền ứng dụng 10. Truy xuất thông tin Type 11. Kiểm tra kiểu của một đối tượng 12. Tạo một đối tượng bằng cơ chế phản chiếu 13. Tạo một đặc tính tùy biến 14. Sử dụng cơ chế phản chiếu để kiểm tra các đặc tính của một phần tử chương trình Chương 4:TIỂU TRÌNH, TIẾN TRÌNH, VÀ SỰ ĐỒNG BỘ 1. Thực thi phương thức với thread-pool 2. Thực thi phương thức một cách bất đồng bộ 3. Thực thi phương thức bằng Timer 4. Thực thi phương thức bằng cách ra hiệu đối tượng WaitHandle 5. Thực thi phương thức bằng tiểu trình mới 6. Điều khiển quá trình thực thi của một tiểu trình 7. Nhận biết khi nào một tiểu trình kết thúc 8. Đồng bộ hóa quá trình thực thi của nhiều tiểu trình 9. Tạo một đối tượng tập hợp có tính chất an-toàn-về-tiểu-trình 10. Khởi chạy một tiến trình mới 11. Kết thúc một tiến trình 12. Bảo đảm chỉ có thể chạy một thể hiện của ứng dụng tại một thời điểm Chương 5:XML 1. Hiển thị cấu trúc của một tài liệu XML trong TreeView 2. Chèn thêm nút vào tài liệu XML 3. Chèn thêm nút vào tài liệu XML một cách nhanh chóng 4. Tìm một nút khi biết tên của nó 5. Thu lấy các nút XML trong một không gian tên XML cụ thể 6. Tìm các phần tử với biểu thức XPath 7. Đọc và ghi XML mà không phải nạp toàn bộ tài liệu vào bộ nhớ 8. Xác nhận tính hợp lệ của một tài liệu XML dựa trên một Schema 9. Sử dụng XML Serialization với các đối tượng tùy biến 10. Tạo XML Schema cho một lớp .NET 11. Tạo lớp từ một XML Schema 12. Thực hiện phép biến đổi XSL Chương 6:WINDOWS FORM 1. Thêm điều kiểm vào form lúc thực thi 2. Liên kết dữ liệu vào điều kiểm 3. Xử lý tất cả các điều kiểm trên form 4. Theo vết các form khả kiến trong một ứng dụng 5. Tìm tất cả các form trong ứng dụng MDI 6. Lưu trữ kích thước và vị trí của form 7. Buộc ListBox cuộn xuống 8. Chỉ cho phép nhập số vào TextBox 9. Sử dụng ComboBox có tính năng auto-complete 10. Sắp xếp ListView theo cột bất kỳ 11. Liên kết menu ngữ cảnh vào điều kiểm 12. Sử dụng một phần menu chính cho menu ngữ cảnh 13. Tạo form đa ngôn ngữ 14. Tạo form không thể di chuyển được 15. Làm cho form không đường viền có thể di chuyển được 16. Tạo một icon động trong khay hệ thống 17. Xác nhận tính hợp lệ của đầu vào cho một điều kiểm 18. Thực hiện thao tác kéo-và-thả 19. Sử dụng trợ giúp cảm-ngữ-cảnh 20. Áp dụng phong cách Windows XP 21. Thay đổi độ đục của form Chương 7:ASP.NET VÀ WEB FORM 1. Chuyển hướng người dùng sang trang khác 2. Duy trì trạng thái giữa các yêu cầu của trang 3. Tạo các biến thành viên có trạng thái cho trang 4. Đáp ứng các sự kiện phía client với JavaScript 5. Hiển thị cửa sổ pop-up với JavaScript 6. Thiết lập focus cho điều kiểm 7. Cho phép người dùng upload file 8. Sử dụng IIS authentication 9. Sử dụng Forms authentication 10. Thực hiện xác nhận tính hợp lệ có-chọn-lựa 11. Thêm động điều kiểm vào Web Form 12. Trả về động một bức hình 13. Nạp điều kiểm người dùng bằng mã lệnh 14. Sử dụng page-caching và fragment-caching 15. Dùng lại dữ liệu với ASP.NET Cache 16. Kích hoạt việc gỡ rối ứng dụng Web 17. Thay đổi quyền đã cấp cho mã ASP.NET Chương 8:ĐỒ HỌA, ĐA PHƯƠNG TIỆN, VÀ IN ẤN 1. Tìm tất cả các font đã được cài đặt 2. Thực hiện “hit testing” với shape 3. Tạo form có hình dạng tùy biến 4. Tạo điều kiểm có hình dạng tùy biến 5. Thêm tính năng cuộn cho một bức hình 6. Thực hiện chụp màn hình Desktop 7. Sử dụng “double buffering” để tăng tốc độ vẽ lại 8. Hiển thị hình ở dạng thumbnail 9. Phát tiếng “beep” của hệ thống 10. Chơi file audio 11. Chơi file video 12. Lấy thông tin về các máy in đã được cài đặt 13. In văn bản đơn giản 14. In văn bản có nhiều trang 15. In text dạng wrapping 16. Hiển thị print-preview 17. Quản lý tác vụ in 18. Sử dụng Microsoft Agent Chương 9:FILE, THƯ MỤC, VÀ I/O 1. Truy xuất các thông tin về file hay thư mục 2. Thiết lập các thuộc tính của file và thư mục 3. Chép, chuyển, xóa file hay thư mục 4. Tính kích thước của thư mục 5. Truy xuất thông tin phiên bản của file 6. Sử dụng TreeView để hiển thị cây thư mục just-in-time 7. Đọc và ghi file văn bản 8. Đọc và ghi file nhị phân 9. Đọc file một cách bất đồng bộ 10. Tìm file phù hợp một biểu thức wildcard 11. Kiểm tra hai file có trùng nhau hay không 12. Thao tác trên đường dẫn file 13. Xác định đường dẫn tương ứng với một file hay thư mục 14. Làm việc với đường dẫn tương đối 15. Tạo file tạm 16. Lấy dung lượng đĩa còn trống 17. Hiển thị các hộp thoại file 18. Sử dụng không gian lưu trữ riêng 19. Theo dõi hệ thống file để phát hiện thay đổi 20. Truy xuất cổng COM Chương 10:CƠ SỞ DỮ LIỆU 1. Kết nối cơ sở dữ liệu 2. Sử dụng connection-pooling 3. Thực thi câu lệnh SQL hoặc thủ tục tồn trữ 4. Sử dụng thông số trong câu lệnh SQL hoặc thủ tục tồn trữ 5. Xử lý kết quả của truy vấn SQL bằng data-reader 6. Thu lấy tài liệu XML từ truy vấn SQL Server 7. Nhận biết tất cả các thể hiện SQL Server 2000 trên mạng 8. Đọc file Excel với ADO.NET 9. Sử dụng Data Form Wizard 10. Sử dụng Crystal Report Wizard Chương 11:LẬP TRÌNH MẠNG 1. Download file thông qua HTTP 2. Download và xử lý file bằng stream 3. Lấy trang HTML từ một website có yêu cầu xác thực 4. Hiển thị trang web trong ứng dụng dựa-trên-Windows 5. Lấy địa chỉ IP của máy tính hiện hành 6. Phân giải tên miền thành địa chỉ IP 7. “Ping” một địa chỉ IP 8. Giao tiếp bằng TCP 9. Lấy địa chỉ IP của client từ kết nối socket 10. Thiết lập các tùy chọn socket 11. Tạo một TCP-server hỗ-trợ-đa-tiểu-trình 12. Sử dụng TCP một cách bất đồng bộ 13. Giao tiếp bằng UDP 14. Gửi e-mail thông qua SMTP 15. Gửi và nhận e-mail với MAPI Chương 12:DỊCH VỤ WEB XML VÀ REMOTING 1. Tránh viết mã cứng cho địa chỉ URL của dịch vụ Web XML 2. Sử dụng kỹ thuật response-caching trong dịch vụ Web XML 3. Sử dụng kỹ thuật data-caching trong dịch vụ Web XML 4. Tạo phương thức web hỗ trợ giao dịch 5. Thiết lập thông tin xác thực cho dịch vụ Web XML 6. Gọi bất đồng bộ một phương thức web 7. Tạo lớp khả-truy-xuất-từ-xa 8. Đăng ký tất cả các lớp khả-truy-xuất-từ-xa trong một assembly 9. Quản lý các đối tượng ở xa trong IIS 10. Phát sinh sự kiện trên kênh truy xuất từ xa 11. Kiểm soát thời gian sống của một đối tượng ở xa 12. Kiểm soát phiên bản của các đối tượng ở xa 13. Tạo phương thức một chiều với dịch vụ Web XML hay Remoting Chương 13:BẢO MẬT 1. Cho phép mã lệnh có-độ-tin-cậy-một-phần sử dụng assembly tên mạnh của bạn 2. Vô hiệu bảo mật truy xuất mã lệnh 3. Vô hiệu việc kiểm tra quyền thực thi 4. Bảo đảm bộ thực thi cấp cho assembly một số quyền nào đó 5. Giới hạn các quyền được cấp cho assembly 6. Xem các yêu cầu quyền được tạo bởi một assembly 7. Xác định mã lệnh có quyền nào đó lúc thực thi hay không 8. Hạn chế ai đó thừa kế các lớp của bạn và chép đè các thành viên lớp 9. Kiểm tra chứng cứ của một assembly 10. Xử lý chứng cứ khi nạp một assembly 11. Xử lý bảo mật bộ thực thi bằng chứng cứ của miền ứng dụng 12. Xử lý bảo mật bộ thực thi bằng chính sách bảo mật của miền ứng dụng 13. Xác định người dùng hiện hành có là thành viên của một nhóm Windows nào đó hay không 14. Hạn chế những người dùng nào đó thực thi mã lệnh của bạn 15. Giả nhận người dùng Windows Chương 14:MẬT MÃ 1. Tạo số ngẫu nhiên 2. Tính mã băm của password 3. Tính mã băm của file 4. Kiểm tra mã băm 5. Bảo đảm tính toàn vẹn dữ liệu bằng mã băm có khóa 6. Bảo vệ file bằng phép mật hóa đối xứng 7. Truy lại khóa đối xứng từ password 8. Gửi một bí mật bằng phép mật hóa bất đối xứng 9. Lưu trữ khóa bất đối xứng một cách an toàn 10. Trao đổi khóa phiên đối xứng một cách an toàn Chương 15:KHẢ NĂNG LIÊN TÁC MÃ LỆNH KHÔNG-ĐƯỢC-QUẢN-LÝ 1. Gọi một hàm trong một DLL không-được-quản-lý 2. Lấy handle của một điều kiểm, cửa sổ, hoặc file 3. Gọi một hàm không-được-quản-lý có sử dụng cấu trúc 4. Gọi một hàm không-được-quản-lý có sử dụng callback 5. Lấy thông tin lỗi không-được-quản-lý 6. Sử dụng thành phần COM trong .NET-client 7. Giải phóng nhanh thành phần COM 8. Sử dụng thông số tùy chọn 9. Sử dụng điều kiểm ActiveX trong .NET-client 10. Tạo thành phần .NET dùng cho COM-client Chương 16:CÁC GIAO DIỆN VÀ MẪU THÔNG DỤNG 1. Hiện thực kiểu khả-tuần-tự-hóa (serializable type) 2. Hiện thực kiểu khả-sao-chép (cloneable type) 3. Hiện thực kiểu khả-so-sánh (comparable type) 4. Hiện thực kiểu khả-liệt-kê (enumerable type) 5. Hiện thực lớp khả-hủy (disposable class) 6. Hiện thực kiểu khả-định-dạng (formattable type) 7. Hiện thực lớp ngoại lệ tùy biến 8. Hiện thực đối số sự kiện tùy biến 9. Hiện thực mẫu Singleton 10. Hiện thực mẫu Observer Chương 17:SỰ HÒA HỢP VỚI MÔI TRƯỜNG WINDOWS 1. Truy xuất thông tin môi trường 2. Lấy giá trị của một biến môi trường 3. Ghi một sự kiện vào nhật ký sự kiện Windows 4. Truy xuất Windows Registry 5. Tạo một dịch vụ Windows 6. Tạo một bộ cài đặt dịch vụ Windows 7. Tạo shortcut trên Desktop hay trong Start menu PHỤ LỤC A: GIỚI THIỆU MỘT SỐ CÔNG CỤ .NET A.1 Biên dịch các đoạn mã ngắn với Snippet Compiler A.2 Xây dựng biểu thức chính quy với Regulator A.3 Sinh mã với CodeSmith A.4 Viết kiểm thử đơn vị với NUnit A.5 Kiểm soát mã lệnh với FxCop A.6 Khảo sát assembly với .NET Reflector A.7 Lập tài liệu mã lệnh với NDoc A.8 Tạo dựng giải pháp với NAnt A.9 Chuyển đổi phiên bản ASP.NET với ASP.NET Version Switcher A.10 Chuyển đổi phiên bản dự án với Visual Studio .NET Project Converter A.11 Chuyển mã nguồn VB.NET sang C# với VB.NET to C# Converter A.12 Chuyển mã nguồn C# sang VB.NET với Convert C# to VB.NET A.13 Xây dựng website quản trị cơ sở dữ liệu với ASP.NET Maker 1.1 PHỤ LỤC B: THUẬT NGỮ ANH - VIỆT TÀI LIỆU THAM KHẢO