Web Services的效率问题有没有办法? 在delphi中使用web services来进行数据的访问,但是发现程序执行的效率非常低,调试时发现大部分的时间花在将XML解析成PASCAL的对象上去了,对于这种现象不知大家有没有什么好的解决办法? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我以前也遇到过类似问题,不知道是不是我的XML结构设计有问题还是读取的方法有问题,反正循环读出数据的时候挺慢的 是的,在循环中特别得慢,不知是不是因为XML的解析是用的MSDOM的缘故,不知有什么好的解决办法? 把数据定义为结构。然后用TBytedynArray 相互交流。这种方法传文件都可以500k/s的传送速度 >>把数据定义为结构那还要WEBSERVICE干什么^_^WEBService性能是软肋,没有好的办法解决。XML不要用来传输大数据量,数据量很大的话就按楼上的方法做吧。 定义为结构的意思是把数据放在一个自定义的记录里然后可以用copymemory放到TByteDynArray传输。这样传输的主要就是数据了。效率会提高很多。在webService里定义调用不要function xx(yyy):xx;stdcall;要尽量使用procedure xx(yyy);stdcall;可以节约返回的时间。webService 是在Dllhost里以线程的方法调用的,而且会存在很长时间。建议:一些工作:内存分配,对象创建等等就在 initialization初始化和finalization里释放。 如何搭建下面情况的服务器 多线程!多线程!多线程! 如何一次性编译bpg 类型转换 TEXT 转 SINGLE 一个两层改三层的问题? 声音传输 哪位大虾对用友的情况比较了解,如工资、福利、工作时长。。。。 找控件 动态创建控件的标签问题,在线等 有人在Rad studio10下用过水晶报表吗,求vcl控件安装包 Delphi Result問題 如何向这个没有value项的在线文本域中提交数据呢?
然后用TBytedynArray 相互交流。这种方法传文件都可以500k/s的传送速度
那还要WEBSERVICE干什么^_^WEBService性能是软肋,没有好的办法解决。
XML不要用来传输大数据量,数据量很大的话就按楼上的方法做吧。
然后可以用copymemory放到TByteDynArray传输。
这样传输的主要就是数据了。效率会提高很多。在webService里定义调用不要
function xx(yyy):xx;stdcall;
要尽量使用
procedure xx(yyy);stdcall;
可以节约返回的时间。webService 是在Dllhost里以线程的方法
调用的,而且会存在很长时间。建议:
一些工作:内存分配,对象创建等等就在
initialization初始化
和
finalization里释放。