在Windows2003 server 64位系统上使用ArcEngine开发的WCF服务
之前大篇文章提到,ESRI说AE10.0以后已经不支持WebService的发布,经过一段时间的测试,发现目前10.2.2版本开始的WCF服务都可以正常发布,且运行正常。
先说一下之前遇到的问题,本机测试和发布都没有任何问题,一到WINDOWS SERVER上发布,遇到AE数据编辑就会报错,错误都是在pFeatureCursor.Update或Insert时发生,翻遍了百度和谷歌相关的贴子,都没有找到解决问题的答案,现将我的解决方案贴出来。
1.新建一个应用程序池,由于AE是32位程序,应用程序池需要设置“启用32位应用程序”为True.
2.由于程序总是在pFeatureCursor.Update或Insert时发生,怀疑是当前用户权限不够造成的,所以有以下两个方法解决:
(1)将新建的应用程度池的标识,修改为LocalSystem,这样本机用户拥有所有权限。
(2)继续使用默认的ApplicationPoolIdentity身份,由于ApplicationPoolIdentity是匿名用户(可查看这篇文章,https://www.cnblogs.com/yjmyzz/archive/2009/10/26/1590033.html),但它属于Users用户组,可增加Users组对网站文件夹的添加和修改权限。方法如下:
在网站上右键,“编辑权限”,“安全”,编辑“Users"组权限,增加“写入“和”修改"权限,或直接设置为“完全控制”。
经过以上操作后,AE写的WCF服务就可以正常使用了,对于SHAPE文件的编辑和空间分析,再也可以不用arcgis server了。