0
是否有任何支持排隊WCF服務請求並在事務(服務器端)提交它們的現成支持?例如。WCF隊列和事務功能
Begin
Insert
Insert
Delete
Edit
Commit
的comsumer將通過調用開始,調用多個服務請求,並通過調用commit提交啓動隊列/交易。
請注意,這應該只綁定到應用程序層而不是數據庫。
在此先感謝!
是否有任何支持排隊WCF服務請求並在事務(服務器端)提交它們的現成支持?例如。WCF隊列和事務功能
Begin
Insert
Insert
Delete
Edit
Commit
的comsumer將通過調用開始,調用多個服務請求,並通過調用commit提交啓動隊列/交易。
請注意,這應該只綁定到應用程序層而不是數據庫。
在此先感謝!
這是可能的。
您應該使用WCF的會話和事務流功能。
使用會話,您可以通過標記哪個操作應該啓動會話以及哪個操作應該結束會話,來控制操作必須在會話中被調用的順序。
交易流程將使您在客戶端創建的交易保持在服務器端並維護它。
有關更多詳細信息,請參閱Enabling Transaction Flow,WCF Transaction Propagation和Sessions, Instancing and Concurrency。
但是,我不知道如何解開數據層的應用程序事務。保持無法控制數據庫事務的應用程序事務是沒有意義的。
同意,您確實希望將交易一直流到數據庫,否則;您需要編寫代碼來手動實現「回滾」邏輯。大多數主要商業數據庫都支持分佈式事務處理,因此不應該成爲限制。當然,這些交易會由於數據庫鎖定而妨礙應用程序的可擴展性,因此總是存在折衷。 –
我很希望客戶端不必創建會話客戶端,只需調用Begin方法服務器端。 – jaspernygaard
電話和5分鐘。後來......我很希望客戶端不必創建一個會話客戶端,只需調用Begin方法服務器端。關於應用程序與數據庫事務,我擔心的是使用ODP.NET與Oracle數據庫進行通信。我當然會使用事務來提交服務調用,但是與WCF事務分離。我不確定ODP.NET如何掛入WCF。從我的理解我的建議方案是不可行的。正確? – jaspernygaard