none
MSMQ 创建代理之后,同样的代码在一个项目中可以使用,在另一个项目中不能使用 RRS feed

  • 问题

  • 你好,

          这样的,我们公司使用的是WPF加WCF的开发模式,这两天遇到一个bug,几天了一直没有调通,同样的代码在一个项目中可以用,移植到我的项目中就不能用了,代码可以运行,没有报错,在wcf服务端调试的时候,发现我本地的程序没有调用到wcf那边的方法,我想问一下这可能是什么问题导致的。谢谢

    2013年12月19日 2:36

答案

  • 你好,我打断点,在执行方法前,把网线拔了,然后在“我的电脑”-“计算机管理”-“传出队列”中没任何消息,是否可以判断为是本地没有发出消息,谢谢

    你在执行方法前,把网线拔了,消息肯定发不出去,跟“我的电脑”->“计算机管理”->“传出队列”没有关系。
    • 已标记为答案 GodRing 2013年12月19日 6:36
    2013年12月19日 5:27
  • 1:如何判断消息是否发出去了?

    A)抓包

    B)查看 WCF 服务监听的 MSMQ 队列是否有消息到达,这个可能不太现实,因为如果队列有消息,WCF 就会从队列中取出消息处理,由于速度很快,那么你很难看到消息在队列中的情况。因此,这里有两种情况,消息已经达到,但 WCF 未读去,那么队列中就有消息;如果 WCF 已读取,那么你的处理消息的代码就会被调用。(也可以通过日志工具来检查是否有消息达到)。

    2:WPF 程序中查找 DLL 文件是什么顺序找的。

    http://blog.csdn.net/wangjunhe/article/details/6692194

    • 已标记为答案 GodRing 2013年12月19日 6:46
    2013年12月19日 6:43

全部回复

  • 可能的原因多了去了,要列举的话,得写一本书了。

    我建议你还是先自己调试下,尽量找到具体的错误。

    首先,“发现我本地的程序没有调用到wcf那边的方法 ”,这句话你说的很模糊,你得明确,如下:

    1、本地程序没有发送消息;

    2、wcf服务没有接受到消息;

    你先把这两个问题搞清楚,看看你的情况是哪种。

    2013年12月19日 3:30
  • 你好,我打断点,在执行方法前,把网线拔了,然后在“我的电脑”-“计算机管理”-“传出队列”中没任何消息,是否可以判断为是本地没有发出消息,谢谢
    2013年12月19日 3:46
  • 你跟踪进WCF方法调用内部看看

    http://feiyun0112.cnblogs.com/

    2013年12月19日 4:05
    版主
  • 你好,我打断点,在执行方法前,把网线拔了,然后在“我的电脑”-“计算机管理”-“传出队列”中没任何消息,是否可以判断为是本地没有发出消息,谢谢

    你在执行方法前,把网线拔了,消息肯定发不出去,跟“我的电脑”->“计算机管理”->“传出队列”没有关系。
    • 已标记为答案 GodRing 2013年12月19日 6:36
    2013年12月19日 5:27
  • 那请问如何判断消息是否发出去了?不过现在问题貌似找到了,是应用DLL的问题,在项目“引用”的文件夹下的wcf.DLL是正确的,但是在项目的“Resources”-“Bins”文件夹下又有一个wcf.DLL文件,我把这个DLL从项目中排除,程序就可以正常运行了,由于这个项目是别人交接给我的我也没注意到,觉得这个DLL应该和项目没有直接关系。我想问一下,WPF程序中查找DLL文件是什么顺序找的。

    • 已标记为答案 GodRing 2013年12月19日 6:35
    • 取消答案标记 GodRing 2013年12月19日 6:36
    2013年12月19日 6:12
  • 1:如何判断消息是否发出去了?

    A)抓包

    B)查看 WCF 服务监听的 MSMQ 队列是否有消息到达,这个可能不太现实,因为如果队列有消息,WCF 就会从队列中取出消息处理,由于速度很快,那么你很难看到消息在队列中的情况。因此,这里有两种情况,消息已经达到,但 WCF 未读去,那么队列中就有消息;如果 WCF 已读取,那么你的处理消息的代码就会被调用。(也可以通过日志工具来检查是否有消息达到)。

    2:WPF 程序中查找 DLL 文件是什么顺序找的。

    http://blog.csdn.net/wangjunhe/article/details/6692194

    • 已标记为答案 GodRing 2013年12月19日 6:46
    2013年12月19日 6:43