在 VS 2008 中的 NetRm 解决方案再次添加新的控制台应用程序项目,并命名为
NetRmServer。该项目所生成的程序集作为 Remoting 的服务器端,首先需要添加
“ NetRmClass.dll” 程 序 集 引 用 , 并 导 入 NetRmClass 命 名 空 间 , 编 写 该 项 目 的
Program.cs 如代码 13.5 所示。
代码 13.5 Remoting 服务器端程序:Program.cs
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
using NetRmClass;
namespace NetRmServer
{
class Program
{
//声明 TcpServerChannel 类型的静态字段 channels
static TcpServerChannel channels;
static void Main(string[] args)
{
//创建新的 TcpServerChannel 对象,端口号为 3000,引用为 channels
channels = new TcpServerChannel(3000);
//将 channels 注册到信道服务
ChannelServices.RegisterChannel(channels, false);
//创建知名服务类型的对象,传递远程对象的类型、对象 URI 和激活对象的枚举
成员
RemotingConfiguration.RegisterWellKnownServiceType(typeof(RmObj),
"MyUri", WellKnownObjectMode.Singleton);
//信息提示,当用户输入字符,则结束程序
Console.WriteLine("======服务器端已启动======");
Console.Read();
}
}
}
“
添加 NetRmClass.dll”程序集引用后,该程序集的副本即被复制到 NetRmServer 项目
“
目录中的 bin\Debug”路径下,以供 NetRmServer 项目生成的程序集使用。将 NetRm
解决方案中的 NetRmServer
“
项目进行编译,即可在该项目目录中的 bin\Debug”路径
下生成编译后的 NetRmServer.exe 程序集。
在 VS 2008 中的 NetRm 解决方案再次添加新的 Windows 窗体应用程序项目,并命名
为 NetRmClient。该项目所生成的程序集作为 Remoting 的客户端,首先仍然需要添加
“NetRmClass.dll”程序集引用,并导入 NetRmClass
“
命名空间。在 Form1”窗体的设计
视图中添加一个 Button 控件和 TextBox
“
控件,分别命名为 button1” “
和 textBox1”,