我最近在研究Remoting事件处理,打算用客户端定阅客户端模式完成手头的项目,下载
http://www.cnblogs.com/Files/wayfarer/Remoting事件(服务端广播).rar
的代码,调试总不能通过,BroadCastEvent事件抛异常"无法连接到远程服务器".自写代码用TCP方式实现BroadCastEvent事件抛异常"由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。",我分析服务器端是正常工作的,问题出在定阅端注册的事件方法.不知道是什么原因造成的,我是在本机调试的.希望能给予指教.如果方便,希望在线指教,谢谢.
EMAIL and MSN:[email protected]
http://www.cnblogs.com/Files/wayfarer/Remoting事件(服务端广播).rar
的代码,调试总不能通过,BroadCastEvent事件抛异常"无法连接到远程服务器".自写代码用TCP方式实现BroadCastEvent事件抛异常"由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。",我分析服务器端是正常工作的,问题出在定阅端注册的事件方法.不知道是什么原因造成的,我是在本机调试的.希望能给予指教.如果方便,希望在线指教,谢谢.
EMAIL and MSN:[email protected]
我正在写一系列关于AAF组件框架的文章。该框架能对开发工作提供很多帮助,并极大地提高开发效率。希望大家看一看并提出宝贵建议。
BinaryServerFormatterSinkProvider
System.Runtime.Serialization.Formatters.TypeFilterLevel.Full
<configuration>
<system.runtime.remoting>
<application>
<client>
<wellknown
type="DelegateObject.ServerObj, DelegateObject"
url="tcp://localhost:9000/Obj.soap" />
</client>
<channels>
<channel
ref="tcp"
port="0">
<serverProviders>
<provider ref="wsdl" />
<formatter ref="soap" typeFilterLevel="Full" />
<formatter ref="binary" typeFilterLevel="Full" />
</serverProviders>
</channel>
</channels>
</application>
</system.runtime.remoting>
</configuration>
这个Demo中EventWrapper对像既然继承了MarshalByRefObject,却没有在服务器端注册,这就意味着调用的时候声明的是客户端对像实例,这样的话MarshalByRefObject又有什么意义呢?如果是为了实现回调的时候实现远程调用,那么服务器端回调的时候又如果实现对客户端的定位呢?using System;
using System.Runtime.Remoting.Messaging;namespace Wayfarer.BroadCast.Common
{
/// <summary>
/// EventClass 的摘要说明。
/// </summary>
public class EventWrapper:MarshalByRefObject
{
public event BroadCastEventHandler LocalBroadCastEvent; //[OneWay]
public void BroadCasting(string message)
{
LocalBroadCastEvent(message);
} public override object InitializeLifetimeService()
{
return null;
} }
}