Các giải pháp lập trình CSharp- P60: 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. | 481 Chương 12 Dịch vụ Web XML và Remoting return names private DataSet GetCustomerDataSet Kiểm tra item đã có trong cache chưa. DataSet ds Products as DataSet if ds null string SQL SELECT FROM Products Tạo các đối tượng . SqlConnection con new SqlConnection connectionString SqlCommand com new SqlCommand SQL con SqlDataAdapter adapter new SqlDataAdapter com ds new DataSet Thực thi câu truy vấn. try ds Products Lưu item vào cache trong 60 giây . Products ds null 60 catch Exception err finally return ds 482 Chương 12 Dịch vụ Web XML và Remoting 4. Tạo phương thức web hỗ trợ giao dịch 1 Bạn muốn thực thi tất cả các hành động của một phương thức web trong ngữ cảnh của một phiên giao dịch COM sao cho chúng chỉ có hai khả năng hoặc là thành công hoặc là thất bại. Kích hoạt một phiên giao dịch tự động bằng cách chọn một giá trị thuộc kiểu liệt kê và áp dụng nó cho thuộc tính Transactionoption của đặc tính WebMethod. Trong dịch vụ Web XML hỗ trợ các phiên giao dịch tự động có thể được kích hoạt trên mỗi phương thức . Khi được kích hoạt bất kỳ nguồn dữ liệu nào có hỗ trợ giao dịch COM sẽ tự động được đưa vào phiên giao dịch hiện hành khi nó được sử dụng trong mã lệnh của bạn. Phiên giao dịch sẽ tự động được commit khi phương thức web hoàn tất. Phiên giao dịch này được roll-back khi có bất kỳ ngoại lệ chưa-được-thụ-lý nào xảy ra hoặc bạn gọi phương thức SetAbort của lớp . Để kích hoạt việc hỗ trợ giao dịch cho một phương thức web bạn cần thiết lập thuộc tính Transactionoption của đặc tính WebMethod là RequiresNew. Ví dụ phương thức web hỗ trợ giao dịch dưới đây sẽ xóa các bản ghi trong một cơ sở dữ liệu và rồi hủy bỏ phiên giao dịch này. Để sử dụng đoạn mã này bạn phải thêm một tham chiếu đến .