WebService服务重写

今天终于把WebService服务重写了;并且做一下简单性能与数据传送稳定性测试;
我重写WebServer的原因有以下几个:
1、不支持服务器事件(服务器不能望客户端主动发消息)
2、调WebServer方法不方便(必须进行WebServer引用;WebServer引用的目的就是生成一些客户端代码)
3、不能发送对象(不是完全不能;是不方便)
4、必须与IIS集成
5、服务端维护不方便
6、所有服务的调用都是PUBLIC的,不能进行权限控制(在方法内可以实现)

7、方法的异常返回不方便;

以上问题我已经解决了
1、用异步实现服务器事件
2、使用简单唯一接口调用;我实现了一个名字为POST的唯一接口;定义如下:
Public Function POST(ByVal MethodFullPath As String, ByVal MethodName As String, ByVal Parameters() As Object, ByRef ReturnValue As Object) As Boolean
MethodFullPath:方法的相对虚拟路径如:system/user
MethodName:     方法名称如:Login
Parameters() : 参数数组;能自动识别参数的类型;能自动把非简单类型进行序列化
ReturnValue  :返回值
3、使用序列化实现对象的发送与接收
4、使用HttpWebRequest:HttpWebResponse:HttpListener来实现服务器与客户端的通讯;并且完全兼容IIS;也就是说服务器端可以用HttpListener服务来做服务器;也可以用IIS做服务器;能够完全的嵌入ASP.Net中;单独实现了HttpWebRequest:HttpWebResponse:HttpListener;因为HttpWebRequest:HttpWebResponse:HttpListener在windows XP SP2 或windosw 2003 SP1前不能使用
5、服务器上的所有方法都使用插件模式;在不需要修改主程序的情况下任意修改加减类、方法
6、所有服务进行统一管理;设置权限。

7、把插件中的异常进行序列化;返回到客户端。

性能与数据传送稳定性测试:
1、从服务器上提取一个表:30个字段、6万条数据共计45M;10秒搞定
2、把从服务器上提起的表发送到服务器;再返回来;40秒
3、从服务器上提取一个表:30个字段、1000条数据,2秒搞定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值