首页 > 代码库 > WCF分佈式事務支持

WCF分佈式事務支持

WCF分佈式事務對Binding有要求,不支持BasicHttpBinding,BasicHttpContextBinding,NetPeerTcpBinding

要支持分佈式事務,需要進行以下配置:

服務端設置

首先要在綁定配置中啓用transactionFlow:

<binding transactionFlow="true" />

其次要在契約接口方法上添加TransactionFlow特性:

[TransactionFlow(TransactionFlowOption.Allowed)]

然後要在契約實現方法上添加TransactionScopeRequired特性:

[OperationBehavior(TransactionScopeRequired = true)]

?

Windows設置

在所有參與事務的電腦上,配置MSDTC以啓用遠程訪問。在組件服務中配置Local DTC如下:

并配置防火墻以允許DTC通過

由於改變了Windows設置,最好重啓一下電腦

?

最後客戶端將事務放進一個TransactionScope中進行調用就可以了。

WCF分佈式事務支持