首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在非事务性队列中使用MsmqIntegrationBinding?

如何在非事务性队列中使用MsmqIntegrationBinding?
EN

Stack Overflow用户
提问于 2009-11-05 00:06:08
回答 1查看 581关注 0票数 0

这是我的服务合同:

代码语言:javascript
复制
<ServiceContract> _
<ServiceKnownType(GetType(String))> _
Public Interface ISecurityMasterChanged

<OperationContract(IsOneWay:=True, Action:="*")> _
Sub ValidateCusipInMessage(ByVal message As MsmqMessage(Of String))

End Interface

这是我的班级

代码语言:javascript
复制
Public Class SecurityValidator
    Implements ISecurityMasterChanged

<OperationBehavior(TransactionAutoComplete:=False, TransactionScopeRequired:=False)> _
<ServiceKnownType(GetType(String))> _
Public Sub ValidateCusipInMessage(ByVal message As MsmqIntegration.MsmqMessage(Of String)) Implements ISecurityMasterChanged.ValidateCusipInMessage
'...
End Sub

当我尝试用下面的代码打开端口时,我得到一个错误

代码语言:javascript
复制
    m_ServiceHostQueue = New ServiceHost(Me)
    m_ServiceHostQueue.AddServiceEndpoint(GetType(ISecurityMasterChanged), New MsmqIntegrationBinding With {.ExactlyOnce = False}, m_Config("SMChanged Queue").ToString)
    m_ServiceHostQueue.Open()

System.InvalidOperationException发生Message=“合约'ISecurityMasterChanged‘上的操作'ValidateCusipInMessage’配置为将TransactionAutoComplete设置为true,并将TransactionScopeRequired设置为false。TransactionAutoComplete要求将TransactionScopeRequired设置为true。”Source="System.ServiceModel“

这对我来说没有任何意义,因为正如您所看到的,TransactionAutoComplete没有设置为true。

EN

回答 1

Stack Overflow用户

发布于 2010-07-20 21:15:11

TransactionAutoComplete的默认值为true。这让我想知道是否必须用这个属性而不是你的类来装饰你的契约?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1674820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档