mapServer的ms4w现在的最新版本是基于.net1.1,前两天基于.net 2,使用asp.net2成功建成了一个网站(虽然性能不弱),各种功能都正常使用,心想应该能够制作一个WinForm版。
于是昨下午花了一个小时,把Web版转成Windows版,测试成功。
昨晚接着工作,由于winform开发模式完全不同,把MapSream改成winform下的MapServerHelp,封装了GIS逻辑,采用了单件设计模式,初步做到界面和GIS逻辑分开。这个小工作,就花了我4个小时,从6:30到10:30。主要是由于winform排版的麻烦,拖放控件,布局,都要手工制作,而不能像web下面的html控制,现在真正感觉到了声明式编程的快捷和优美,便于批处理。
前天同时看到了万里云的博客http://www.gissky.net/blog/user2/lixiaotai/index.html,他也制作了MFEditor: MapServer mapfile文件可视化编辑工具 http://www.gissky.net/Article/1498.htm,同时提供下载http://www.gissky.net/Soft/giszy/2009-03-18/261.html ,我看了一下,工作量比较大,进行了重编译(他也在博客里说了处理流程)。那个MFEditor,需要注册控件,这点显得麻烦,不够绿色。他当初这么做的原因可能是先在win32开发了“将MapServer的C类库重新封装成了一系列COM接口,然后再在C#中调用自己封装的接口来做界面”。
同时他的一个疑惑:“在ASP.NET项目中用C#调用这些类库是没有问题的,但在Windows应用程序项目中便问题多多(难道是封装出来的类库只能再BS架构中用?)”,我不知道“问题多多”,指的是哪些。我现在简单的测试没有碰到问题。