2009-11-04 2 views
0

이것은 내 서비스 계약입니다 :비 트랜잭션 큐와 함께 MsmqIntegrationBinding을 사용하려면 어떻게해야합니까?

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

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

End Interface 

이 코드로 포트를 열려고하면

 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로 설정되지 않았기 때문에 이는 내게 의미가 없습니다.

답변

0

기본 TransactionAutoComplete가 true 인 경우 클래스 대신이 속성을 사용하여 계약을 장식해야하는지 궁금합니다.

+0

아니요 계약 레벨 속성이 아니며 구현시 올바르게 지정되어 있습니다. –