今天终于把本地搜苏的例子写完,尽管问题还很多。后边有时间再进一步完善。
总结一下这次用3周的时间来学习 Asp.net+ArcGIS server 9.2 DotNet ADF的感受:
1)、Web开发确实是未来企业级应用开发的必右之路。
2)、Web开发的界面表现空间巨大,巧妙运用CSS和JS可以做出界面极其漂亮的应用。
3)、具体到编程序和C/S没本质区别。区别主要是部署环境、软件的运行模型差别较大。在C/S中关于参数传递、用户状态、函数调用、生命周期的概念都是常规概念,自己写的软件和机器上安装的大部分应用软件的运行机制很接近,很好理解。而在B/S中一切都是另外的一套概念了
4)、B/S中安全的概念更加突出,一般作C/S的人转到B/S都会遇到这个问题。
5)、代码调试方式差别较大。
6)、两者各有实用的场合,以后的学习工作重要各取其长。
遇到的一些困惑:
1)、Asp.net调试时速度超级慢,经常要等好几秒钟。可能和访问ArcSDE有点关系,但不全是,调试方法可能不妥。
2)、Arcgis 的Web ADF中的FloatingPanel好像和Asp.NET的DataList不协调,如果把Map放在FloatPanel中,Datalist的ItemCommand就不响应了,取出来就没事,这个问题折腾了半天时间也没搞清楚。网上好多人遇到ItemCommand事件部响应的问题,但都和我这里的不是一回事情。这个问题到底没搞明白,最后放弃用事件机制,改用Link完成任务。
3)、ArcGIS server DotNet ADF的帮助有好些例子和文档资料很不错,是学习的第一手资料。美中不足的是类库参考简直就等于啥用都没有,只能看到继承关系,每个类的功能连描述信息都没有,函数、参数也一样,关于函数的Sample更是少之又少,不知道ESRI为啥这么小气。基本上都是把类名、函数名拿来Google,国外的论坛倒是经常有所收获。
4)、ArcGIS server 的 DotNet ADF似乎不如Java ADF好用,在网上看到的java例子几句话可以干好多事,在C#里边得写一大段。Java中有个WebQuery类据说很强,DotNet中就没有,做一个SpatialQuery得先得到Functionlities接口等等搞一堆。在DotNet下做个Buffer也很麻烦,几何类型转好几下,Java中不知道怎么搞。下次作东西用以下Java搞搞,看JSF做界面也很爽的,调试速度不知到NetBeans和Eclipse和Vs2005比咋个样。