本文主要是介绍Arcgis for Server 的 SOE 开发环境搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
参考文档:https://blog.csdn.net/linghe301/article/details/38434469
SOE开发环境:
ArcObject10.2(在ArcGIS Desktop 包装包中)、VS2012、 Arcgsis 10.2 for Server、ArcSDE 10.2
- 安装Arcgis Object 10.2 (若已安装请跳过)
如果不知是否安装,使用 VS2012 新建项目,查看已安装的模板中是否有Arcgis 模板:如图
如果没有:找到 ArcGIS_Desktop 安装包
解压并找到SDK_dotnet:
并安装
2. SOE部署
生成了相关的SOE版本,在ArcGIS 10.2版本,支持了影像服务的扩展,所以在我们需要在模板里面输入支持地图服务还是影像服务。如下所示“MapServer”。注意:一定要填,不然扩展添加报错:Failed to register extensions in 'RestSOETest.soe'. Unsupported service type 'null'.
[ServerObjectExtension("MapServer",//use "MapServer" if SOE extends a Map service and "ImageServer" if it extends an Image service.AllCapabilities = "",DefaultCapabilities = "",Description = "",DisplayName = "RestSOETest",Properties = "",SupportsREST = true,SupportsSOAP = false)]
我们需要在初始化函数Init里面添加如下代码,才能进入调试状态
public void Init(IServerObjectHelper pSOH){//生命周期开始时调试System.Diagnostics.Debugger.Launch();serverObjectHelper = pSOH;}
编译出现问题:未能从程序集ESRI.ArcGIS.AddIns.SDK加载任务"ValidateAddInXMLTask"
未能从程序集ESRI.ArcGIS.AddIns.SDK, Version= 10.2.0.0,Culture=neutral, PublicKeyToken= 8fc3cc631e44ad86加载任务"ValidateAddInXMLTask"。未能加载文件或程序集"Microsoft. VisualStudio. Shell.9.0, Version=2.0.0.0, Culture=neutral, XXXPublicKeyToken= b03f5f7f1 1d50a3a'或它的某一个依赖项。 系统找不到指定的文件。请确认 <UsingTask>声明正确,该程序集及其所有依赖项都可用,并且该任务包含实现Microsoft. Build.Framework.ITask的公共类。
解决方案:
修改工程文件.csproj
这是由于ArcObject版本升级与模板文件不一致引起的。比较便捷的解决方式是卸载项目,打开.csproj项目文件,找到\ESRI\ESRI.ArcGIS.AddIns.Server.targets,并更改为\ESRI\ESRI.ArcGIS.AddIns.Server.11.targets,如下图所示
生成解决方案
生成解决方案,在bin目录下可以看到以.soe后缀名的文件。
PS:该.soe后缀的文件可以将.soe名称修改为.zip,那么用户可以看到相关dll以及元数据xml文件信息。
登录ArcGIS Server Manager,在IE 浏览器下 添加站点扩展: 添加生成的 RestSOETest.soe 文件
添加站点:
然后再 服务 选项中,选择已经发布的地图服务中(如: cqmap),编辑
在该服务的功能选择新的RestSOETest扩展,然后保存和重新启动服务即可
这篇关于Arcgis for Server 的 SOE 开发环境搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!