Remoting的事件处理在互联网上不可用吗?
最近做一个项目,需要用到Remoting的远程事件处理。我写了一个例子,在本机运行没问题,可是当我把服务器端拷到服务器上再运行的时候,就不行了。包括我下载的 张逸 老师的 Remoting事件(服务端广播) 示例放到服务器上也不可用。Remoting的事件处理在互联网不可应用吗?
服务器端代码(Server):
using System;
using System.Collections.Generic;
using System.Text;
using ClassLib;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
namespace Server
{
     class Program
     {
         static void Main(string[] args)
         {
             BinaryServerFormatterSinkProvider serverProvider = new BinaryServerFormatterSinkProvider();
             BinaryClientFormatterSinkProvider clientProvider = new BinaryClientFormatterSinkProvider();
             serverProvider.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;
             System.Collections.Hashtable props = new System.Collections.Hashtable();
             props["port"] = 8081;
             TcpChannel channel = new TcpChannel(props, clientProvider, serverProvider);
             ChannelServices.RegisterChannel(channel, false);
             RemotingConfiguration.RegisterWellKnownServiceType(typeof(SayHello), "SayHello", WellKnownObjectMode.Singleton);
             RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
             Console.ReadKey();
         }
     }
}
客户端代码(Client):
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
using ClassLib;
namespace Client
{
     class Program
     {
         static void Main(string[] args)
         {
             TcpChannel channel = new TcpChannel();
             ChannelServices.RegisterChannel(channel, false);
             RemotingConfiguration.RegisterWellKnownClientType(typeof(SayHello), "tcp://219.235.3.120:8081/SayHello");
             BinaryServerFormatterSinkProvider serverProvider = new BinaryServerFormatterSinkProvider();
             BinaryClientFormatterSinkProvider clientProvider = new BinaryClientFormatterSinkProvider();
             serverProvider.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;
             System.Collections.Hashtable props = new System.Collections.Hashtable();
             props["port"] = 8082;
             props["name"] = "tcp2";
             TcpChannel channel1 = new TcpChannel(props, clientProvider, serverProvider);
             ChannelServices.RegisterChannel(channel1, false);
             RemotingConfiguration.RegisterWellKnownServiceType(typeof(Common.EventCenter), "EventCenter", WellKnownObjectMode.Singleton);
             RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
             SayHello Hello = new SayHello();
             Common.EventCenter center = new Common.EventCenter();
             center.AfterSaid += new Common.AfterSaidEventHandler(Hello_AfterSaid);
             Hello.AfterSaid += new Common.AfterSaidEventHandler(center.Method);
             Hello.Say();
             Console.ReadKey();
         }
         static void Hello_AfterSaid(object sender, Common.AfterSaidEventArgs e)
         {
             Console.WriteLine("事件触发");
         }
     }
}
公共类库代码(Common):
using System;
using System.Collections.