PB11.5开发WebService碰到的问题(求解)

zjhss1981 2012-12-07 05:07:18
最近因公司项目的需要,需要用PB做个三层的软件,软件不复杂,但使用的用户数估计几百个,担心并发和操作频率比较高,特地先简单做了个Web Service测试了下,就发现了比较大的问题, 原因尚不明确,特地在此请教大家:

开发环境: PB11.5、MSSQL2000

服务端代码(方法:of_get_khzl):
string ls_ret,ls_data,error_sql
long ll_rowcount,ll_i
datastore lds_object;

//创建数据存储并指定对象
lds_object = create datastore
lds_object.dataobject = 'dw_bas_khzl_all'
//创建事务对象
if of_db_connect(as_error) then
else
destroy lds_object;
return 0;
end if
//设置事物并读取对应的 Blob类型;
lds_object.settransobject(sqlca);
ll_rowcount = lds_object.retrieve();
lds_object.getfullstate(ab_data);
//对BLOB类型进行数据压缩
n_cst_zlib ln_zlib
ln_zlib=create n_cst_zlib;
long ll_len
ll_len=ln_zlib.of_compress(ab_data,as_error);
destroy lds_object;
string ls_rtn;
//断开数据库;
of_db_disconnect(ls_rtn);
if as_error='' then
return 1;
else
return 0;
end if


客户端调用代码:blob lb_data;
string ls_error;
boolean lb_rtn;
long ll_rtn,ll_len;
//从webservice中获取资料,以BLOB返回;
ll_rtn=n_khzl.of_get_khzl(lb_data,ls_error);
if ll_rtn=0 then
messagebox("",ls_error);
return;
end if
//对BLOB解压缩处理;
n_cst_zlib ln_zlib
ln_zlib=create n_cst_zlib;
ll_len=ln_zlib.of_uncompress(lb_data,ls_error);
//对DW赋值查看;
dw_1.setfullstate(lb_data);
st_1.text="成功获取 "+string(dw_1.rowcount())+" 条企业资料数据!"


问题现象:
1、采用LOADRUN测试工具,单独跑两三个不会出问题,但一旦跑10个程序就挂;
2、开始担心LOADRUN的问题,特地用了多台客户端来跑,每个客户端又单独做了个鼠标精灵,每隔200MS点按钮去执行调用代码,开了五个客户端运行良好,但开了第六个电脑时,程序也报错?

难道WebService仅支持几个用户吗? 我看了CSDN上的很多兄弟也用此方式实现多个项目,请问在这方面是怎么处理的,有何高招?
...全文
390 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjhss1981 2012-12-12
  • 打赏
  • 举报
回复
结贴了 给大家做下汇报: 把WINDOWS 2003的系统进行了重装,IIS 还是6.0,并对应用连接池进行了设置; 目前WEB SERVICE可以跑100个,但仍有错误,再继续研究吧
岁月明灯 2012-12-11
  • 打赏
  • 举报
回复
引用 8 楼 ych12333 的回复:
设置一下IIS的连接数。在测试一下。
同意
ych12333 2012-12-10
  • 打赏
  • 举报
回复
设置一下IIS的连接数。在测试一下。
zjhss1981 2012-12-10
  • 打赏
  • 举报
回复
初步估计应该是服务器环境或IIS的配置出了问题;还有待于分析;
wag_enu 2012-12-08
  • 打赏
  • 举报
回复
问一下大版主,好像他做过这种结构的软件。
zjl8008 2012-12-08
  • 打赏
  • 举报
回复
没试过,关注中,帮顶
zjhss1981 2012-12-08
  • 打赏
  • 举报
回复
引用 3 楼 wag_enu 的回复:
服务器配置环境怎么样?
试过两个环境: windows server 2003 + IIS 6.0 windows XP SP3 + IIS 5.0 都存在;
wag_enu 2012-12-07
  • 打赏
  • 举报
回复
服务器配置环境怎么样?
zjhss1981 2012-12-07
  • 打赏
  • 举报
回复
引用 1 楼 ych12333 的回复:
根据现在的网络情况来说已经不需要进行进行数据的压缩了,试试不压缩的情况下如何,还有数据库的连接不使用函数调用在测试一下。
按你方式试了下,还是不行,服务器直接从表中读取数据总条数,返回LONG,也存在同样的问题。 甚至于再狠点,直接传进俩个LONG型参数,返回两值之和,不压缩也不访问数据库,结果也是不行。 所以我也很奇怪;求解!
ych12333 2012-12-07
  • 打赏
  • 举报
回复
根据现在的网络情况来说已经不需要进行进行数据的压缩了,试试不压缩的情况下如何,还有数据库的连接不使用函数调用在测试一下。

662

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder Web 应用
社区管理员
  • Web 应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧