各位大哥大姐们:请指点迷津!!!
异常现象如下:
   在VS2003平台下开发C/S应用软件,使用了remoting远程处理技术,以达到服务端向客户端广播事件消息(服务端发生的事件),终端用户在系统提醒后,及时进行相应的业务处理。本机开发调试能够实现广播功能,在软件服务端部署到Windows2003的服务器上,并启动服务端,在开发机上将客户端远程对象配置指向服务器,进行客户端功能测试时,能够取得所需要的远程对象,但在向该远程对象加载远程事件时报错:
System.NotSupportedException: 不支持所指定的方法。
Server stack trace: 
System.Runtime.Remoting.Channels.SoapClientFormatterSink.GetRequestStream(IMessage msg, ITransportHeaders headers)
System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SerializeMessage(IMessage msg, ITransportHeaders& headers, Stream& stream)
System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg)
Exception rethrown at [0]: 
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) 
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at RzRemotingEventObject.BroadCastObj.add_BroadCastEvent(BroadCastEventHandler value)如何解决?服务端使用配置文件注册:
string strFilePath = Application.StartupPath.ToString() + "\\" ;
string strFileName = "RzEquipmentFaultInfoManageAppServer.exe.config" ;
//创建文件的全路径:
string strFullPath = strFilePath + strFileName ;
//注册远程对象:
RemotingConfiguration.Configure(strFullPath);
string strRemoteServerUrl = 
  System.Configuration.ConfigurationSettings.AppSettings〔"RemoteServerUrl"] ;
bc = (BroadCastObj)Activator.GetObject( typeof(BroadCastObj),strRemoteServerUrl );
服务端配置文件如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="ClientPort" value="8101" />
<add key="RemoteServerUrl" value="http://localhost:8080/RzRemotingEventObject.BroadCastObj.soap" />
<add key="OracleDBConnectionString" value="Data Source=rzl3db;User Id=rzl3OnLine;Password=Rzl3RunTimeDataBase;" />
</appSettings>
<system.runtime.remoting>
<application name="RzEquipmentFaultInfoManageAppServer">
<service>
<activated type="rzDataAccessRemotingObject.rzEquipFaultDataAccessObj, rzDataAccessRemotingObject"/>
<wellknown type="RzRemotingEventObject.BroadCastObj, RzRemotingEventObject" objectUri="RzRemotingEventObject.BroadCastObj.soap" mode="Singleton" /> 
</service>
<channels>
<channel ref="http" port="8080">
<serverProviders>
<formatter ref="binary" typeFilterLevel="Full"/>
<formatter ref="soap" typeFilterLevel="Full"/>
</serverProviders>
<clientProviders>
<formatter ref="binary"/>
<formatter ref="soap"/>
</clientProviders>
</channel>
</channels>
</application>
</system.runtime.remoting>
</configuration>
客户端使用配置文件注册:
 try
 {
   #region 使用配置文件进行注册远程功能
string strFilePath = Application.StartupPath.ToString() +  "\\" ;
string strFileName = "RzEquipmentFaultInfoManageApp.exe.config" ;
//创建文件的全路径:
string strFullPath = strFilePath + strFileName ;
//客户端注册远程对象:
RemotingConfiguration.Configure( strFullPath );//"RzEquipmentFaultInfoManageApp.exe.config"
   #endregion
            
   #region
//BroadCastMessage
//建立远程对象
string RemoteServerUrl =
         System.Configuration.ConfigurationSettings.AppSettings["RemoteServerUrl"] ;
 watch = (BroadCastObj)Activator.GetObject(typeof(BroadCastObj),RemoteServerUrl );   
         wrapper = new EventWrapper();
 wrapper.LocalBroadCastEvent += new BroadCastEventHandler(BroadCastingMessage);
 watch.BroadCastEvent += new BroadCastEventHandler(wrapper.BroadCasting);
   #endregion
 }
catch( Exception eConfig )
{
   string strError = eConfig.ToString() ;
  MessageBox.Show( "注册远程功能时出错(rzEquipmentFaultManagerMainForm_Load):
                     应用服务器未启动或其它异常-->" + strError ) ;
 }
 finally
 {
   GC.Collect() ;
 }
客户端配置文件如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="ClientPort" value="8101" />
<add key="RemoteServerUrl" value="http://localhost:8080/RzRemotingEventObject.BroadCastObj.soap" />
<add key="OracleDBConnectionString" value="Data Source=rzl3db;User Id=rzl3OnLine;Password=Rzl3RunTimeDataBase;" />
</appSettings>
<system.runtime.remoting>
<application>
<client url="http://localhost/rzEquipFaultDataAccessObj">
<activated type="rzDataAccessRemotingObject.rzEquipFaultDataAccessObj, rzDataAccessRemotingObject" />
<wellknown type="RzRemotingEventObject.BroadCastObj, RzRemotingEventObject" url="http://localhost:8080/RzRemotingEventObject.BroadCastObj.soap" />
</client>
<channels>
<channel ref="http" port="0">
<serverProviders>
<!--<serverProdvider ref="wsdl"/>-->
<formatter ref="binary" typeFilterLevel="Full" />
<formatter ref="soap" typeFilterLevel="Full" />  
</serverProviders>
<clientProviders>
<formatter ref="binary" />
<formatter ref="soap" />                                   </clientProviders>
</channel>
</channels>
</application>
</system.runtime.remoting>
</configuration>