CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 484

484
Chương 12: Dịch vụ Web XML và Remoting

Hình 12.2 Theo dõi một phiên giao dịch không thành công

[

Vì bản chất phi trạng thái (stateless) của giao thức HTTP, nên một phương thức web chỉ có
thể góp phần làm gốc của một phiên giao dịch; nghĩa là bạn không thể đưa nhiều hơn một
phương thức web vào cùng một phiên giao dịch. Mặc dù thuộc tính

TransactionOption

chấp

nhận tất cả các giá trị

TransactionOption

chuẩn, nhưng các giá trị này không mang ý nghĩa

như mong đợi. Ví dụ,

Disabled

,

NotSupported

, và

Supported

đều có cùng tác dụng là vô hiệu

việc hỗ trợ giao dịch. Tương tự, cả

Required

RequiresNew

đều kích hoạt việc hỗ trợ giao

dịch và khởi chạy một phiên giao dịch mới. Bạn nên sử dụng

RequiresNew

trong các phương

thức web vì tên của nó tương xứng với hành vi thật sự (!).

Các giao dịch COM+ làm việc một cách trong suốt với hầu hết các nguồn dữ liệu
vì chúng cung cấp các bộ quản lý tài nguyên tương thích. Nhưng luôn nhớ rằng,
nếu bạn tương tác với một tài nguyên không hỗ trợ giao dịch, mã lệnh sẽ không
được roll-back. Một số hoạt động không phải là giao dịch: ghi file, đặt thông tin
vào trạng thái phiên làm việc, và truy xuất một thiết bị phần cứng (như máy in).
Mặt khác, các thao tác dữ liệu với hầu hết các hệ cơ sở dữ liệu Enterprise
(bao
gồm Microsoft SQL Server
Oracle) đều là tương thích COM+.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.