前些时候看到园子里一位朋友写的.NET 框架 AAF (作者:http://blog.csdn.net/aafshzj),作者对其大为赞赏.

因为自己在开发过程中碰到一些性能问题,一时不知如何解决,索性就学习下AAF.因为本人对该框架知之甚少,所以就不在此赘言了.

早先时候,自己也曾写过Remoting的代码,没有实际应用到项目中去. .NET发展太快了,4.0就有出来了.微软也用新的技术来替代Remoting了,那就是WCF,不过那是后话了.

有感于AAF,作者给出Remoting的入门代码,已帮助了解该技术的Programmer.哈哈,不多说了,看例子吧.

下边以3个部分来介绍(共享库,服务器端,客户端)

Step 1:

先创建个共享库,客户端和服务器端要添加对它的引用.

 i);
    }
}

很简单,就两个方法,Show & Call,没有包含具体业务哦,这一点很重要.主要是安全方面的考虑.

 

Step 2:

现在看看服务器端,分两部分,

先看对共享库方法的重写

).ToString();
        }
    }
}

 

 然后是服务器端通道的建立及侦听,代码如下

 (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.Source);
                Console.ReadLine();
            }
        }
    }
}

激活模式为服务器端激活,又称为知名对象(WellKnown Objects)激活模式,服务器端激活模式根据激活方式的不同,又分为SingleTon激活模式和SingleCall激活模式。

SingleTon模式激活的对象始终只有一个,而不管客户端的多少。(你可以参考一下设计模式的SingleTon模式。)而SingleCall模式则故名思义。它的对象创建是根据调用方法来决定的,每调用一次方法,都会创建该对象;而一旦调用下次方法时,则上次创建的对象会被销毁,并重新创建新对象。

当然了,相对于服务器端激活模式,还有客户端激活模式.两者的区别是

1、服务器端激活是无状态态,它的特性更类似于Web Service。而客户端激活是有状态的,它的特性更像是你在本地实例化的一个对象。

2、服务器端激活模式中,SingleCall激活的对象是无法管理其生命周期的;而SingleTon激活模式以及客户端激活模式则可以管理生命周期。

3、服务器端激活模式对于其MarshalByRefObject对象本身只能使用默认的构造函数,而客户端激活模式则可以使用自定义的构造函数。

好了,到这里您对基本概念已经有了了解.我们接下来看客户端如何调用

Step 3. 客户端调用

本人客户端是部署在IIS中,其他环境与此类似.

));
        }


    }
}

 


读者自己可以试试啦,记着服务端先运行哦.

 

 

 

 

 

 

 

相关文章:

  • 2021-08-20
  • 2022-12-23
  • 2021-08-27
  • 2021-06-25
  • 2021-10-27
  • 2022-01-27
  • 2022-01-21
  • 2021-11-30
猜你喜欢
  • 2022-02-07
  • 2022-03-01
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-13
相关资源
相似解决方案