目前发现问题集中出现在XP+SP2上,但部分此配置的机器又没有出现此问题。目前还不明确。

解决方案 »

  1.   

    近来在CSDN感觉越来越没底了......
      

  2.   

    http://topic.csdn.net/u/20071008/11/2c660c73-d2a5-4c17-80ad-e38141728163.html
      

  3.   

    我最近也要用Remoting  那个例子我看过了,关注~!
      

  4.   

    是WinForm程序,跟IE有关系???
      

  5.   

    WinFrom程序对吧.
    实现动态的配制数据库连接就不说了....这可能是因为你在数据库连接的时候出了问题.我碰到过ping的通服务器,程序就是连不上.(这里就不讨论说什么防火墙和端口的问题了)
    我也碰到到过很多这样的问题,切换下数据库连接,一般服务器IP/实例名,或是直接用服务器名字/实例名.基本好用.
    当然不是所有情况都能保证成功.还一种是通过WebService访问数据库.程序访问WebService在连接Service  这个好用,但是理论上数据要比Remoting慢几十倍,但实际用起来速度还是可以的.
    但这有个技术问题,要让你的程序实现动态连接WebService这是个需要你去研究的问题.但要是你在我这,这个问题也不是问题.还一种是还是通过Remoting原理访问,做个Windows服务来连接数据.动态连接Windows相对来说还是简单不少的.通过以上数据连接,只要你的程序能在这几个连接方式上做到无缝连接随时切换,相信你问题就很好解决.
      

  6.   

    楼上的说的是一些问题,但不是我这次碰到的问题,可以使用最简单的无任何数据库操作的代码进行测试,短短几十行代码,同样还是会出问题。
    而且这次问题的点很明确,就是在触发客户端注册的Delegate时报了错。怀疑还是访问客户端建立的随机端口时访问不到导致。
      

  7.   

    回调只有在相互可以ping通的机器之间才可以。远程连接时环境复杂,服务器端防火墙、客户端网关nat等都会阻止它。所以如果你打算开发很通用的软件(而不是专用在小局域网内),不要使用回调,忘记“Remoting支持事件”这回事。你可以自己写一个事件处理机制来实现基于轮询方式的事件通知服务。
      

  8.   

    测试:记下你的客户端ip,从服务器上ping它。
      

  9.   

    Ping没问题,但我试过,在连接服务器时开的随机端口从服务器上Telnet是连接不到的。
      

  10.   

    已经发现其中问题出现的一个必然因素:
    1、SoftEther程序安装并成功连接SoftHub后再使用Remoting必然会出现问题,但这不是我的根本原因,因为我很多情况下是没有触发这一条也有问题。
      

  11.   

    .NET Framework自带的TcpChannel和HttpChannel不支持跨越防火墙的Event Callback。这是因为.NET内部的协议通道只支持单向通信,Callback和原始方法调用需要两个独立通道。Remoting要为事件回调的Session建立一个独立的协议通道,但是因为防火墙的关系没法得到Client的确切IP地址,这个Channel也就建立不起来。解决的方法是编写一个可以双向通信的TcpChannel这里有一个:http://www.ingorammer.com/Software/OpenSourceRemoting/BiDirTcpChannel.html
      

  12.   

    不知道啊,楼主啊,我现在也是用remoting在做,也是出现问题。而且是由于安全限制,无法访问类型
      

  13.   

    多谢syeerzy,已经在看,如果有消息尽快回复给大家。