代码是从飞鱼的博客那里下载的,两个月前下的的地址忘记了。
1.代码有两个项目客户端和服务端(Web 应用程序),这两个项目都要引用Hessiancsharp.dll 组件
2.两个客户端和服务端,都要拥有一个相同的接口约定,这里定义了一个Hello方法
using System; using System.Collections; namespace HessianService { public interface IService { string Hello(string name); } }
3.在服务器端的Web.config 文件中的<httpHandlers> 标签内加入下面的配置信息。
用于截获.hessian的Http请求, Type中 HessianService.Service 代表接受请求的服务类,HessianWebService代表项目名,也是最终组件的名称。
<add verb="*" path="*.hessian" type="HessianService.Service, HessianWebService"/>
4.服务器端建立一个服务类,继承自CHessianHandler, IService
using System; using System.Collections; using hessiancsharp.server; namespace HessianService { public class Service:CHessianHandler, IService { #region IService 成?员? public string Hello(string name) { return "Hello " + name; } #endregion } }
5.客户端调用服务器端的方法
CHessianProxyFactory factory = new CHessianProxyFactory(); //建?立?工?厂? string url = "http://localhost:36955/aaaaa.hessian";//因?为?设?置?的?服?务?器?端?捕?获?所?有?.hessian 请?求?,?这?里?随?意?写?了?一?个?aaaaa.hessian,
//?服?务?地?址?别?错?了?就?可?以? IService test = (IService)factory.Create(typeof(IService), url); //建?立?调?用?服?务?对?象? string result= test.Hello("飞?鱼?"); // 调?用?并?放?回?结?果? Console.WriteLine(result); Console.ReadLine();