简体   繁体   English

如何将MsmqIntegrationBinding与非事务性队列一起使用?

[英]How do I use MsmqIntegrationBinding with a non-transactional queue?

This is my service contract: 这是我的服务合同:

<ServiceContract> _
<ServiceKnownType(GetType(String))> _
Public Interface ISecurityMasterChanged

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

End Interface

This is my class 这是我的课

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

When I try to open the port with this code I get an error 当我尝试使用此代码打开端口时,出现错误

    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 occurred Message="The operation 'ValidateCusipInMessage' on contract 'ISecurityMasterChanged' is configured with TransactionAutoComplete set to true and with TransactionScopeRequired set to false. TransactionAutoComplete requires that TransactionScopeRequired is set to true." 发生System.InvalidOperationException消息=“ =”将对合同'ISecurityMasterChanged'的'ValidateCusipInMessage'配置为TransactionAutoComplete设置为true,而TransactionScopeRequired设置为false。TransactionAutoComplete要求TransactionScopeRequired设置为true。 Source="System.ServiceModel" Source =“ System.ServiceModel”

This doesn't make sense to me because, as you can see, TransactionAutoComplete is not set to true. 这对我来说没有意义,因为如您所见,TransactionAutoComplete未设置为true。

The default for TransactionAutoComplete is true. TransactionAutoComplete的默认值为true。 Which makes me wonder if you have to decorate your contract with this attribute instead of your class? 这使我想知道是否必须使用此属性而不是类来装饰合同?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM