程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了MSMQ FIFO/同步处理大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决MSMQ FIFO/同步处理?

开发过程中遇到MSMQ FIFO/同步处理的问题如何解决?下面主要结合日常开发的经验,给出你关于MSMQ FIFO/同步处理的解决方法建议,希望对你解决MSMQ FIFO/同步处理有所启发或帮助; @H_@R_675_11287@_2@我有一个单线程应用程序。它应该连接到本地 MSMQ 队列,一旦收到消息,它应该在继续侦听其他消息之前对其进行处理。消息包含应该插入到数据库表中的数据。但是在插入数据之前,它会进行查询以查看该项目是否已经存在。但是,我认为通过为 ReceiveCompleted 创建一个处理程序,如果队列中有多条消息,那么就会产生多个线程。那会发生吗?如果有可能在两条消息中都存在重复数据,并且我的 sql 查询可能看不到任何重复,因为第二个线程仍在工作并且尚未将其数据插入到数据库表中。

Dim objQueue As New messageQueue(ConfigurationManager.AppSetTings("myQueuePath"))
AddHandler objQueue.ReceiveCompleted,AddressOf QueueReceived
objQueue.beginReceive()

Private Sub QueueReceived(source As Object,asyncResult As ReceiveCompletedEventArgs)
    Dim mq = DirectCast(source,messageQueuE)
    Dim objmessage As message = nothing
    Try
        mq.Formatter = New Xmlmessageformatter(New [String]() {"System.String,mscorlib"})
        objmessage = mq.EndReceive(asyncResult.AsyncResult)
        Dim strmessage As String = objmessage.body.ToString()
        
        'Call routIne to read data,check for suplicates and then insert into database 
        ProcessBXRS(objmessagE)
    Catch ex As Exception
         'Do some exception handling
    End Try

    'Listen for next message
    mq.beginReceive()
End Sub

解决方法

@H_@R_675_11287@_2@暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

@H_@R_675_11287@_2@如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

@H_@R_675_11287@_2@小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的MSMQ FIFO/同步处理全部内容,希望文章能够帮你解决MSMQ FIFO/同步处理所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。