微前端架构如何改变企业的开发模式与效率提升
694
2022-12-01
MapXtreme 2005 学习心得 一些问题(八)
先上一张MapXtreme的丑陋的图片
这个是我历经千山才弄出来的效果。
终于小有成果。
Table.BeginAccess(TableAccessMode.Write);这句代码,报错率非常高。
我们在修改一个表的时候,通常要begin一下,然后处理,处理完之后再end一下
在反复的begin与end中,一旦拿不到锁,就报错了。通常这个问题引起,是另一个表正在处理时,发生异常,你try完之后,没有endAccess引起的
Table.DeleteFeature(feature);这句代码的报率也很高,网上流传这么一些代码:
foreach(Featrue fea in Table){ Table.DeleteFeature(feature);}
说明:
用来删除表的数据,这里报错率通常是由于Table.BeginAccess(TableAccessMode.Write);这个异常引起的所以最好处理就是try一下Table.BeginAccess(TableAccessMode.Write);正常后,再执行删除表数据这里有一点提的,其实里面的东西最后还是执行delete from table where mkey=@mkey之类的语句,这样等于一条一条执行。还不如直接执行delete from table就OK了,foreach来干什么。那个MISql操作的,几乎和ADO-的操作一个样,不用担心不会。
最后一个就是最严重的问题了。
产生的问题是这样的:地图上画上的点,一开始好好的,然后点一下放大或细小,一会正常,一会又点不见了,再点一下,点又出来了,就这样反反复复。一会正常,一会不正常。经常反复大量研究表明:地图是存在Session中的,在研究中发现,Session经常不确定性的会丢失,所以,最好在画点的逻辑里加上一些处理:
我是这样处理的:
if (CommonHelper.Get
说明:
找了一个地方保存下地图的图层数,由于生成了点之后,地图的图层一定会和初始图层不一样。所以,用了这个来做为判断Session是否丢失.如果Session丢失,重新加载一下数据点的处理。这样,终于解决了问题.
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~