问题
将服务器对象扩展 (SOE) 或服务器对象拦截器 (SOI) 部署到 ArcGIS Server 后,仅针对从 ArcMap 中发布的服务显示在 ArcGIS Server Manager 或 ArcGIS Pro 中启用 SOE 或 SOI 的选项,针对从 ArcGIS Pro 中发布的服务却不显示此选项。
这是有意设计的。 出现这种行为的原因是针对从 ArcMap 中发布的服务而非从 ArcGIS Pro 中发布的服务构建 SOE 或 SOI。 使用适用于 .NET 或 Java 的 ArcObjects SDK 构建的 SOE 和 SOI 仅适用于从 ArcMap 中发布的服务。 自 10.6.1 版本起,从 ArcGIS Pro 中发布的服务支持使用 ArcGIS Enterprise SDK 构建的 SOE 和 SOI。
要允许针对从 ArcGIS Pro 中发布的服务启用 SOE 或 SOI,必须满足以下先决条件:
如果您拥有使用 ArcObjects SDK 构建的现有 SOE 或 SOI,则应按照 .NET 或 Java 的迁移指南将工程迁移为使用 ArcGIS Enterprise SDK 构建的工程。
注: 此过程需要开发工作。 如果您不是 SOE 或 SOI 开发人员,则需要联系 SOE 或 SOI 开发人员以进行此项更改。 使用 ArcGIS Enterprise SDK 构建 SOE 或 SOI 后,可以将其部署到 ArcGIS Server(10.6.1 或更高版本),并使用从 ArcGIS Pro(2.2 或更高版本)中发布的服务来启用 SOE 或 SOI。
您还可以通过访问 ArcGIS Server Manager > GIS Server > 扩展页面以检查扩展的提供者是 ArcMap 还是 ArcGIS Pro,从而确定是否为从 ArcMap 或 ArcGIS Pro 中发布的服务构建 SOE 或 SOI,如以下屏幕截图所示。
如果您需要两项服务的 SOE 或 SOI,则应使用每个 SDK 来编译单独的 SOE 或 SOI 工程,并将两个 .soe 文件都部署到服务器。
阅读关于 ArcGIS Enterprise SDK 和 ArcObjects SDK 之间区别的详细信息。
获取来自 ArcGIS 专家的帮助
下载 Esri 支持应用程序