感谢您使用微软产品。不知道你在发送消息时,有没有调用相应的transaction:请看下列VB代码:Dim qinfo As MSMQQueueInfo
Dim qSend As MSMQQueue      ' An instance of the queue opened for send access
Dim xdispenser As New MSMQTransactionDispenser    ' Used for internal transactions
Dim xact As MSMQTransaction
'.............
'Some code to create or open a Transactional queue
'............
Private Sub Send_Click()
    Dim mSend As New MSMQMessage
    '
    ' Start internal transaction. From this point on, any errors
    ' will exit this function prematurely and the transaction will
    ' be aborted. Commits only occur if explicitly invoked.
    '
    Set xact = xdispenser.BeginTransaction        mSend.Label = "Transaction Message" 
        mSend.Body = "VBTrans message body"
        mSend.Priority = 3
        'qSend是对应的事务性公用队列
        mSend.Send qSend, xact    xact.Commit
    
End Sub具体参考Platform SDK中例子Microsoft Platform SDK\Samples\NetDs\MessageQueuing\VBTrans- 微软全球技术中心 VB开发支持 本贴子仅供CSDN的用户作为参考信息使用。其内容不具备任何法律保障。您需要考虑到并承担使用此信息可能带来的风险。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。