学习论坛 会员投稿 RSS订阅 站内通告:
搜索: 您的位置网站源代码 > 网络编程 > asp.net教程 > ASP.NET Remoting体系结构(八): 构建远程类对象

ASP.NET Remoting体系结构(八): 构建远程类对象

2009-10-01 09:11:11 来源:原创 【 】 浏览:
摘要: 网络编程,asp.net教程,构建远程类对象

构建远程类对象
(1)在VS2005中新建一个项目,选择Windows窗体模板,将窗体的输出类型设置为类库并命名为RemotingClass,同时将应用程序的输出类型改为类库,如图1所示。
(2)将窗体类改为FarClass并在窗体代码文件中加入如下代码:
namespace RemotingClass
{
public partial class FarClass : Form
{
public static int i;
public FarClass()
{
InitializeComponent();
}
public int GetTime()
{
StreamWriter sw = new StreamWriter("hb.txt", True);
sw.WriteLine("远程类对象被第" + i + "次调用" + DateTime.Now.ToString());
sw.Close();
i++;
MessageBox.Show("远程类在服务器端对象被"+i+"次调用"+DateTime.Now.ToString());
return i;
}
}
}
如果是用户编写的远程类,则必须继承System.MarshalByRefObject。因为Form类已经继承于System.MarshalByRefObject,所以本例没有继承。代码如下:
public static int i;
制作一个计数器,来记录远程类对象被调用了几次,代码如下:
StreamWriter sw = new StreamWriter("hb.txt", True);
sw.WriteLine("远程类对象被第" + i + "次调用" + DateTime.Now.ToString());
sw.Close();
StreamWriter是一个专门用于文件写入的类,这里用来对远程类的调用做一个记录以便体会远程调用的这种体系。StreamWriter("hb.txt", True) 构造函数中的第一个参数为文件名,第二个参数如果为True,则表示在文件末尾追加;fasle表示写入的内容要覆盖以前内容。sw.WriteLine()函数是用来将一个字符串写入一行。DateTime.Now.ToString()是系统当前时间。最后将Stream Writer对象的实例关闭。代码如下:
MessageBox.Show("远程类在服务器端对象被"+i+"次调用"+DateTime.Now.ToString());
在弹出的MessageBox中,在服务端看到客户端调用远程类,每调用一次就可以看到服务端弹出的窗体以显示远程类的调用。
(3)编译程序生成类库。
完整程序代码如下:
★   ★★★★Program.cs主程序文件完整程序代码★★★★★
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace RemotingClass
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FarClass());
}
}
}
★   ★★★★RemotingClass.cs窗体代码文件完整程序代码★★★★★
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace RemotingClass
{
public partial class FarClass : Form
{
public static int i;
public FarClass()
{
InitializeComponent();
}
public int GetTime()
{
StreamWriter sw = new StreamWriter("hb.txt", true);
sw.WriteLine("远程类对象被第" +i + "次调用" + DateTime.Now.ToString());
sw.Close();
i++;
MessageBox.Show("远程类在服务器端对象被"+i+"次调用"+DateTime.Now.ToString());
return i;
}
}
}
★   ★★★★RemotingClass.designer.cs窗体设计文件完整程序代码★★★★★
namespace RemotingClass
{
partial class FarClass
{
/// <summary>
/// 必需的设计器变量。


顶一下
(0)
0%
踩一下
(0)
0%
Tags: asp.net教程 网络编程
责任编辑:小人物
收藏】 【挑错】 【推荐】 【打印
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
关于我们 | 网站声明 | 广告服务 | 招聘英才 | 联系我们 | 网站地图 | RSS订阅 |