WebGIS开发--滑铁卢(之三)

 最初的开发中, 我为每个用户创建了一个Map地图服务对象,这样, 地图的图层可见性控制,显示比例尺,地理显示范围,图面大小,选择图素等用户相关的个性化信息,都有独立的Map对象来维护了.在开发初期, 只有少数几个人测试, 没发现任何问题,后来多几个测试人员,问题就来了, 地图变黑了! IE开到29个, 就开始显示不正常, 有些线一斤绘制不正常了.


  后来, 发现,不断的为每个用户创建Map对象, 而Map对象本身需要BITMAP等内核资源,尤其在多用户并发时, 系统出现争抢创建内核对象现象.

  只有改变地图服务方式, 仅创建一个Map地图服务对象,把比例尺 当前显示范围 选中图素 图层可见性等个性化信息,存储在Session中, 每次请求地图,把这些信息也传递给Map对象.  这样, 节省了内核资源.

  可还是有问题, 并发访问, A用户请求地图, 还未返回结果, B用户也去请求地图, 造成最后返回给用户的结果是B请求的地图.

  咋办????

  多线程并发控制, 至于实现细节, 就不多说了, 在C#环境中实现滴


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值