C# 用Remote技术实现简单SOAP通讯
2014-04-16 08:41
274 查看
我现在想用C#做个SOAP的通信,主要功能是,
1、在internet上把一个服务器上的文件送到另一台服务器上
2、在接受完成后返回一个成功的信号。
第一个是DLL文件;
lizi1.cs
第二个是服务器文件;
lizi2.cs
第三个是客户端文件
lizi3.cs
在编译的时候需要先把lizi1编译成DLL文件如:csc /t:libraty lizi1.cs
然后编译服务器端成EXE如:csc /r:System.Runtime.Remoting.dll /r:lizi1.dll lizi2.cs
最后编译客户端成EXE如:csc /r:System.Runtime.Remoting.dll /r:lizi1.dll lizi3.cs
这样就可以跑了,而且是通过HTTP将SOAP封装的消息送到服务器端,最后得到返回。
1、在internet上把一个服务器上的文件送到另一台服务器上
2、在接受完成后返回一个成功的信号。
第一个是DLL文件;
lizi1.cs
using System; public interface ISimpleObject{ String ToUpper(String inString); }
第二个是服务器文件;
lizi2.cs
using System; using System.Runtime.Remoting; using System.Runtime.Remoting.Channels; using System.Runtime.Remoting.Channels.Http; public class SimpleObject:MarshalByRefObject,ISimpleObject{ public String ToUpper(String inString){ Console.WriteLine("Send String is "+inString); return(inString.ToUpper()); } } class lizi2{ public static void Main(){ HttpChannel hchan = new HttpChannel(154); ChannelServices.RegisterChannel(hchan); Type SimpleObjectType = Type.GetType("SimpleObject"); RemotingConfiguration.RegisterWellKnownServiceType(SimpleObjectType,"SOEndPoint",WellKnownObjectMode.Singleton); Console.WriteLine("press enter to halt server"); Console.ReadLine(); } }
第三个是客户端文件
lizi3.cs
using System; using System.Runtime.Remoting; using System.Runtime.Remoting.Channels; using System.Runtime.Remoting.Channels.Http; class lizi3{ public static void Main(){ HttpChannel hchan = new HttpChannel(0); ChannelServices.RegisterChannel(hchan); Object remoteObject = RemotingServices.Connect(typeof(ISimpleObject),"http://localhost:154/SOEndPoint"); ISimpleObject so = remoteObject as ISimpleObject; Console.WriteLine(so.ToUpper("make this uppercase")); } }
在编译的时候需要先把lizi1编译成DLL文件如:csc /t:libraty lizi1.cs
然后编译服务器端成EXE如:csc /r:System.Runtime.Remoting.dll /r:lizi1.dll lizi2.cs
最后编译客户端成EXE如:csc /r:System.Runtime.Remoting.dll /r:lizi1.dll lizi3.cs
这样就可以跑了,而且是通过HTTP将SOAP封装的消息送到服务器端,最后得到返回。
相关文章推荐
- 高性能页面加载技术(流水线加载)BigPipe的C#简单实现(附源码)
- C#简单实现单链表节点类
- C# 系统应用之ListView实现简单图片浏览器
- C#实现一个简单的定时任务
- 【信息安全技术】DES算法的详细设计(简单实现)
- 简单顺序栈(C++模版技术实现)
- C#利用反射技术实现winform界面动态存储
- KMP算法 C#简单实现
- C#实现一个简单的HTTP服务器
- C#实现桌面应用程序简单的计算器
- C#异步:实现一个最简单的异步
- C#实现简单获取及设置Session类
- C#条形码生成(三)----简单的三种Code128实现
- C#实现简单的 Ping 的功能,用于测试网络是否已经联通
- C#.NET 关于URL重写技术汇总(三)之域名进行重写,即实现二级或多级域名
- C#简单工厂模式实现松耦合度四则运算
- C和C#两种方式实现简单的邮件发送
- 定时播音的简单实现(C#)
- c#利用反射+特性实现简单的实体映射数据库操作类实现自动增删改查(三)带源码写好的持久层
- C# 实现简单状态机(参考代码)