构建基本的.NET Remoting应用程序__教程 |
|
日期:2007-5-20 1:22:50 人气:85 [大 中 小] |
|
|
|
<wellknown mode="Singleton" type="RemotableType, RemotableType" objectUri="RemotableType.rem" /> </service> <channels> <channel ref="http" port="8989"/> </channels> </application> </system.runtime.remoting> </configuration> 远程处理系统使用配置文件中的信息来监听和路由对于远程类型实例的远程请求。该文件指定了单一的服务激活模式(server-activation mode)、类型名、所要监听的类型所在的程序集和对象的URI(或者是对象的外部名)配置文件指定远程处理系统用HttpChannel在8989端口进行监听。
三、创建客户应用: 客户应用程序必须进行注册。远程处理系统会截获客户程序的调用,将调用送到远程对象,然后返回结果给客户端。客户应用的代码如下: [Visual Basic] ' Client.vb Imports System Imports System.Runtime.Remoting
Public Class Client Public Shared Sub Main() RemotingConfiguration.Configure("Client.exe.config") Dim remoteObject As New RemotableType() Console.WriteLine(remoteObject.StringMethod()) End Sub 'Main End Class 'Client [C#] // Client.cs using System; using System.Runtime.Remoting;
public class Client{
public static void Main(){ RemotingConfiguration.Configure("Client.exe.config"); RemotableType remoteObject = new RemotableType(); Console.WriteLine(remoteObject.StringMethod()); } } 要编译产生相应的客户端可执行文件,只要将它保存为Client.language-extension(此处language-extension是你所使用的语言,比如cs、vb)。保存文件到RemotableType.dll的同一目录中。编译时使用如下命令: [Visual Basic] vbc /r:RemotableType.dll Client.vb
[C#] csc /noconfig /r:RemotableType.dll Client.cs
如你所见,Client类必须能够找到Client.exe.config 文件来加载对于RemotableType类的配置。该配置文件必须保存到和Client.exe相同的目录中。如果没找到将会产生一个异常。下面是配置文件Client.exe.config 的描述: <configuration> <system.runtime.remoting> <application> <client> <wellknown type="RemotableType, RemotableType" url="http://localhost:8989/RemotableType.rem" /> </client> </application> </system.runtime.remoting> </configuration> 该配置文件通知远程处理系统RemotableType远程对象的类型信息可以在RemotableType程序集中找到。同时,客户程序应该试图创建和使用位于 http://localhost:8989/RemotableType.rem的RemotableType对象。当你试图在网络上运行该程序,必须用远程计算机名来替换客户配置文件中的“localhost”。
四、编译并执行整个应用: 保存前面所建的所有文件到一个名为Listener的目录中,并使用如下命令行: Visual Basic] vbc /t:library RemotableType.vb
vbc /r:RemotableType.dll Listener.vb
vbc /r:RemotableType.dll Client.vb
[C#] csc /noconfig /t:library RemotableType.cs
csc /noconfig /r:RemotableType.dll Listener.cs
csc /noconfig /r:RemotableType.dll Client.cs
运行该应用: 1、创建一个名为Client的子目录 2、复制RemotableType.dll、Client.exe和 Client.exe.config到Client目录中 3、在Listener目录下,使用如下命令: Listener 4、当Listener程序运行时,在Client目录下打开一个新的Command窗口,并键入: Client
改变通道: 只要修改 Listener.exe.config 和Client.exe.config文件就可以改变通道。Client.exe.config 文件如下修改: <wellknown type="RemotableType, RemotableType" url="tcp://localhost:8989/RemotableType.rem" />
Listener.exe.config 文件中如下修改: <channel ref="tcp" port="8989"/> |
|
出处:本站原创 作者:佚名 |
|
|