最近在学习MapXtreme2008开发时还遇到了一个很棘手(对我这个新手来说)的问题,就是下载安装了MapXtreme2008并且安装后,运行它的Web示例程序C:/Program Files/MapInfo/MapXtreme/6.8.0/Samples/VisualStudio2008/Web/Features目录下的vs_2008_CSharp_Samples.sln解决方案,总是无法正常运行。其现象是在运行时弹出IE浏览器后,进度条走到一半,不再有任何反应,没有任何网页内容出现。起先怀疑是自己的机器慢(我装的是VS2008,512M内存),于是等,直到等到过了半个小时还没出来东西,知道不是性能的原因。那么为什么运行不了?由于使用了网上找的License文件,担心会不会是这个文件无效,于是拿原来备份的Lic文件覆盖,还不行!干脆卸载了重新安装!卸载安装时还碰到了麻烦,老是有一个RegSVCS这个CMD窗口停在那里过不去,只能手工关闭,反复试了几次我都快崩溃了,狠狠心在注册表中查找所有与MapXtreme有关的键值删除后重新启动,再安装,居然顺利通过了!前后加上等待的时间花了几个小时,可是再运行示例程序,现象依旧,我象泄了气的皮球一样软倒在椅子上。当时已经是深夜,只好放弃了,后半夜几乎没睡好。
第二天到了公司,找另一个同事,他机器上也安装了Visual Studio2008和MapXtreme2008,能正常运行!我们列举了所有两台机器的不同点:我装了XP的SP3他没装,我是IE7他是IE6,我是笔记本他是台式机……想过来想过去,要不是突然有人提醒我看一下事件查看器的日志,我几乎就要拿系统盘格式化自己的系统了……查看事件日志发现有“msdtc服务无法在本地启动”这样的错误。难道是我的系统有问题?由于对IIS也并不是很熟悉,不知道是不是它的影响,按它的提示我找到了distributed transaction coordinator 服务,它是手动状态,可是我启动它却出错了!不管是不是这个原因,至少这个服务启动出错是不正常的,于是在网上搜索,找到了高人留下的解决方法:
---------------------------
服务
---------------------------
Windows 不能在 本地计算机 启动 Distributed Transaction Coordinator。有关更多信息,查阅系统事件日志。如果这是非 Microsoft 服务,请与服务厂商联系,并参考特定服务错误代码 -1073737712。
---------------------------
确定
---------------------------
解决办法:
把 C:/WINDOWS/system32/dtclog 这个目录重命名(如果有),然后重新建立该目录。
在命令行下: msdtc -resetlog
然后 msdtc 就可以启动了。}
然后在“开始”->“设置”->“控制面板”->“管理工具”->“组件服务”中,“控制台根目录”->“组件服务”->“计算机”->“我的电脑”->“COM+应用程序”中,有一个“IIS Out-Of-Process Pooled”鼠标右键“属性”--“标识”--把“此用户”调整为“交互式用户--目前已登录的用户”。然后“确定”,再鼠标右键“属性”--“启动”。
按照上面的做法启动了DTC服务之后,马上打开上面说的示例程序,运行的时候真是忐忑不安啊!经过几秒钟的等待,地图窗口终于出来了!
初学MapXtreme还真的是困难重重,根本原因在于对MapXtreme和IIS不了解吧,应在这方面加强努力。希望这段经历能对初学MapXtreme的朋友们有帮助,不至于要象我这样影响睡眠……