常见问题及解决方案
本主题中列出了您在使用 ArcGIS Server 时可能面临的问题及建议的可行解决方案。如果未能在本主题中找到您要查找的问题,也可以在 ESRI 支持中心中搜索相关文章。
安装和安装后配置
管理
服务
- 无法使用 ArcGIS Explorer 900 或 1200 连接到使用 ArcGIS Server 10 发布的地图服务。
- 添加了服务,但无法在服务目录中找到该服务。
- 可使用 ArcGIS Server 发布哪些符合 OGC 的服务?
- 在创建包含地理数据库中的图层的服务时遇到问题。
- 尝试在 ArcCatalog 中预览地图服务时图像显示空白。
- 开始创建地图缓存,且该过程用去很长时间。此创建过程将于何时结束?
- 如何将服务从开发计算机迁移到生产计算机?
- 与非池化服务建立的 ArcGIS Server Internet 连接的速度非常慢。
- 最近对地图和 globe 缓存进行了更新。客户端应用程序会自动识别出更新后的可用切片吗?
- ArcGIS Server 将数据锁定。
- 发布了一个 globe 服务,但一些图层却消失了。
- 发送大型作业时地理处理服务失灵。
Web 应用程序
是否可以在同一台计算机上安装 ArcGIS Server for the Microsoft .NET Framework 和 ArcGIS Server for the Java platform?
ArcGIS Server 的 .NET 和 Java 版本可以共存于同一台计算机上。若要将两者一起安装,则需要遵循以下步骤,以确保服务器目录能够正确地映射到 IIS 或 Apache Web 服务器的虚拟目录:
- 安装 .NET 版本或 Java 版本的 ArcGIS Server。
- 使用管理器或 ArcCatalog 删除默认的服务器目录(arcgiscache、arcgisjobs、arcgisindex、arcgisinput、arcgisoutput)及其相关联的虚拟目录。
- 安装其他版本的 ArcGIS Server。您可以保留此版本的默认服务器目录和虚拟目录。
- 使用文件系统工具为步骤 1 中安装的 ArcGIS Server 版本创建其他服务器目录。
- 使用 ArcCatalog 或管理器,为在步骤 1 中安装的 ArcGIS Server 注册新服务器目录及其相关的虚拟目录。
应当对 SOM 和 SOC 帐户使用何种帐户?
服务器对象管理器 (SOM) 和服务器对象容器 (SOC) 帐户供 GIS 服务器进行内部使用,仅需要对计算机拥有有限的权限。仅当您在其他计算机上安装 ArcGIS Server 时,或者仅当您授予 GIS 服务器访问您的数据的权限时,您才会用到这些帐户。大多数情况下,使用安装后配置(ArcGISSOM 和 ArcGISSOC)所建议的默认帐户名称并让向导为您创建帐户即可。出于安全原因,安装后配置将创建较之域帐户更加推荐的本地帐户。
计算机名称在安装后配置过程中被截断。
ArcGIS Server 名称不能超过 15 个字符;如果超出该长度,则会在安装后配置期间及尝试连接到服务器时遇到错误。这是与活动目录名称的 Microsoft 规范相关的已知限制。
是否对安装日志或摘要进行存储以供今后查看?
即使从命令行运行安装程序,也不会自动记录安装过程,但是您可以添加用于创建日志文件的参数。要了解有关从命令行进行安装的详细信息,请参阅 ArcGIS Server 安装指南。
您可以通过 Windows 中的添加或删除程序 对话框查看已安装的 ArcGIS Server 功能。在 ArcGIS Server for the Microsoft .NET Framework 下,单击更改按钮并选择修改,可查看或更改已安装组件的列表。
卸载或重新安装 ArcGIS Server 之前需要进行哪些准备工作?
卸载或重新安装 ArcGIS Server 时,会保留服务器配置文件和服务配置文件。但是,卸载过程中会删除 web.config 和 Tasks.xml 文件。如果您已手动编辑了这些文件,则需要在卸载之前对其前进行备份,然后在重新安装后复制回原处。
将安全性信息保留在 web.config 文件中
如果为 Web 服务添加了安全性信息,则这些信息会被写入到 web.config 文件中并需要保留。卸载 ArcGIS Server 之前,需将 web.config 文件复制到与 ArcGIS 不相关的位置。您可以在如下位置找到 web.config 文件:<虚拟根目录>\<ArcGIS Server 实例名称>\Services(例如:C:\Inetpub\wwwroot\ArcGIS\Services\web.config)。重新安装之后,仅将安全性相关标记复制并粘贴回到新的 web.config 文件中。
保留自定义任务的相关信息
由于 Tasks.xml 可用于整合已开发到管理器用户界面中的任务,因此,只有当您开发了自定义任务时,才需要对此文件进行备份。您可以在如下位置查找到 Tasks.xml:<虚拟根目录>\<ArcGIS Server 实例名称>\Manager\Applications\App_Data(例如:C:\Inetpub\wwwroot\ArcGIS\Manager\Applications\App_Data\Tasks.xml)。卸载之前,需将此文件复制到与 ArcGIS 不相关的位置。重新安装之后,将新的 Tasks.xml 文件替换为旧的 Tasks.xml 文件。
为何会在卸载完成之后遗留一些文件夹?
卸载 ArcGIS Server 时,会将一些文件夹和文件保留在磁盘中。之所以保留这些文件,是为了便于您对 ArcGIS Server 进行重新安装或升级。如果您不再打算使用 ArcGIS Server,可将这些文件删除。
遗留的文件通常会出现在以下位置:
- <ArcGIS Server 安装位置>\server\user\cfg - 此位置存储服务配置文件。重新安装时会读取这些文件,这样您便无需通过手动方式重新创建服务。这些文件还可在升级 ArcGIS Server 之后用于重新创建现有服务。
- 单机安装所创建的默认服务器目录,例如 C:\arcgisserver - 留下这些文件夹可保留地图和 globe 缓存,以及其他可能希望在执行重新安装时保留的服务器资源。您自行创建和注册的服务器目录同样不会受到卸载操作的影响。
- ArcGIS Server 实例目录中的所选文件夹 - ArcGIS Server 实例目录(实例目录的默认示例为:C:\Inetpub\wwwroot\ArcGIS)中会保留一些文件夹,以方便您在重新安装之后使用管理器。例如,构建 Web 应用程序时所建立的 GIS 服务器连接和在管理器中所创建的应用程序的列表将被保留。
收到错误消息“您的 ArcGIS Server 许可已过期”。
如果您收到消息“您的 ArcGIS Server 许可已过期”,请联系 ESRI 客户支持以获取新的许可,然后重新运行 GIS 服务器安装后配置的“授权 ArcGIS Server”部分。
ArcGIS Server 是否可以在断开网络连接的情况下运行?
如果您已经建立了一个分布式系统,其中 Web 服务器、服务器对象管理器 (SOM) 和服务器对象容器 (SOC) 各自位于不同的计算机上,则 ArcGIS Server 必须在具有网络的情况下才能运行。但是,如果所有这些组件运行在同一台计算机上,那么只要使用本地路径而非具有 UNC 路径的共享网络目录对数据进行引用,ArcGIS Server 便可以正常运行。例如,发布一个源(例如地图文档)时,请从 C:\ 盘中对其进行发布,并确保所有图层均通过本地路径来引用本地数据。
此外,如果计算机是某个域的一部分且已与该域断开连接,则必须将本地帐户用于 SOM 帐户、SOC 帐户、ArcGIS Web 服务帐户以及管理器的登录帐户。
如何配置 ArcGIS Server 以使其在 Windows 工作组环境中运行?
在 Windows 工作组环境(请不要与 ArcGIS Server Workgroup 混淆)中使用 ArcGIS Server 时,需遵循几个重要步骤,以确保 GIS 服务器身份验证功能得以正常使用。有关说明,请参阅 GIS 服务器的工作原理主题中的“网络环境”一节。
如果数据所在的计算机中未安装 ArcGIS Server,应当如何为该数据授予本地 SOC 帐户权限?
有时,可能会出现这样的情况:您的数据所在的计算机中尚未安装任何 ArcGIS Server 组件,而且您正在进行推荐的练习 - 将 SOC 帐户用于本地帐户。此时,您将需要在包含该数据的计算机中使用操作系统工具来创建一个本地 SOC 帐户。在托管该数据的计算机中创建一个本地帐户,并为该帐户分配与您的部署中所有其他计算机的 SOC 帐户相同的名称和密码。这样,GIS 服务器便可确认该帐户具有对您的数据进行访问的权限。
可否以故障转移或轮询配置来设置服务器?
故障转移和轮询这两种技术可在配置中的一个服务器瘫痪时为您提供一个后备服务器。在 Visual Studio 中设计 Web 应用程序时,可以指定该应用程序将要使用的附加 GIS 服务器,并指定这些服务器将运行于故障转移模式还是轮询模式。此外,还可以使用随 ADF 提供的连接库,以编程形式实现故障转移和轮询。
如何查出 ArcGIS 实例名称?
安装 ArcGIS Server 时,系统会提示您输入 ArcGIS 实例名称。如果是其他人执行的安装,或者您忘记了所输入的实例名称,则可以通过以下方式轻松地显示该实例名称。
在 Windows 中,导航到开始 > 所有程序 > ArcGIS > ArcGIS Server for the Microsoft .NET Framework。当您看到 ArcGIS Server 管理器的快捷方式时,便得到了默认的实例名称,该名称为 ArcGIS。如果您拥有其他实例名称,则会以圆括号形式将其追加到管理器快捷方式中,例如:ArcGIS Server 管理器 (Instance1)。
每个实例都在 C:\Inetpub\wwwroot 目录中具有各自的文件夹。如果您能够导航到 C:\Inetpub\wwwroot\ArcGIS,则实例名称很可能是默认的 ArcGIS。
如何能够查看安装了哪些 ArcGIS Server 许可等级?
通常,确定安装在计算机上的 ArcGIS Server 许可等级的一种简单方法是增大日志记录级别,重新启动 Web 服务器,然后查看已更新日志文件。为此,请执行以下步骤:
- 在 ArcGIS Server 管理器中,单击 GIS 服务器模块。默认情况下,将会显示服务器活动日志。单击服务器日志属性。
- 服务器日志属性 对话框显示时,选择日志级别下的下拉框,然后选择信息:简单。保存或记下日志文件路径。该路径取决于安装配置。
- 单击确定接受更改。
- 注销“管理器”,然后重新启动 Web 服务器。Web 服务器重新启动后,将会使用“信息:简单”服务器日志等级配置来覆盖日志文件,因而显示了安装的 ArcGIS Server 许可等级。
- 根据以前记录的日志文件路径,打开最近修改的 .dat 日志文件。安装的 ArcGIS Server 许可等级在第一个消息行中列出。
另外,您可以将日志级别设置回其原始值。
发现 ArcSOC.exe 进程数多于正在运行的服务实例数。甚至在停止所有服务后仍出现此情况。
ArcGIS Server 在内部使用一个 ArcSOC.exe 进程用于目录管理。即使您在管理器或 ArcCatalog 中停止了所有服务,也仍会在 Windows 任务管理器中看到此进程正在运行。
另外,地理处理服务使用多个 ArcSOC.exe 进程来管理作业的时间安排及状态。对于每个地理处理服务配置,您都将看到一个 ArcSOC.exe 进程和对应于每个运行中实例的两个 ArcSOC.exe 进程。例如,如果一个地理处理服务具有三个运行中的实例,将一共将出现七个 ArcSOC.exe 进程。停止该服务时或之后较短时间内,这些进程将消失。
同样,搜索服务会使用一个相关联的地理处理服务,该服务也可能增加所显示的 ArcSOC.exe 进程数。
无法在 ArcCatalog 中显示上下文相关帮助。
使用 ArcCatalog 管理 ArcGIS Server 时,如果您尝试使用 ? 按钮获取帮助,则可能收到一条错误消息。这种情况会出现在 Windows Vista 或 Windows 7 操作系统中,这是由于这些操作系统并没有提供查看帮助所需的 WinHlp32.exe 可执行文件。然而,Microsoft 提供了 WinHlp32.exe 的免费下载。请参阅 Microsoft 文章 917607 以获取背景信息和下载说明,或遵照错误消息中的提示进行操作。
无法登录管理器。
要登录管理器,必须使用 SOM 计算机的 agsadmin 组成员帐户。若要使用管理器来创建 Web 应用程序,该帐户还必须是 Web 服务器计算机的管理员。
在 Windows XP 中登录管理器还需要禁用简单文件共享。在简单文件共享模型中,会强制用户使用“访客”帐户尝试通过网络登录计算机。管理器和 Web ADF 应用程序所需的身份验证为 ArcGIS Web 服务帐户,而非“访客”帐户。因此,如果您尚未禁用简单文件共享,则需将其禁用。要禁用简单文件共享,请执行以下操作:
- 单击开始,然后单击我的电脑。
- 在工具 菜单中,单击文件夹选项,然后单击查看选项卡。
- 在高级设置 部分中,取消选中使用简单文件共享(推荐)复选框。
- 单击确定。
如果托管管理器应用程序的 Web 服务器的名称中包含下划线字符,则您无法在 Internet Explorer 浏览器中登录管理器,并且不会收到任何错误消息。
以下是用于解决此问题的几个选项:
- 如果 URL 中出现的名称中包含下划线,则可将 URL 替换为 Web 服务器的 IP 地址。
- 如果您采用物理方式登录到 Web 服务器,则可在 URL 中使用 LOCALHOST 来替代包含下划线的名称。
- 使用 Internet Explorer 之外的 Web 浏览器登录管理器。
- 如果可能,可重命名 Web 服务器,以使该服务器的名称中不包含下划线字符。
管理器中有许多选项不可用(灰暗显示)。
如果重新启动 ArcGIS Server 对象管理器服务,则当您再次登录管理器时,该服务器可能被描述为离线状态。这样,管理器中会有许多选项不可用。
关闭管理器并再次打开,可使选项重新变为可用。
无法使用 ArcGIS Explorer 900 或 1200 连接到使用 ArcGIS Server 10 发布的地图服务。
连接到使用 ArcGIS Server 10 发布的地图服务时,ArcGIS Explorer 900 和 1200 可能会返回以下错误:无法添加服务。要解决此问题,您必须安装 ArcGIS Explorer 1200 ArcGIS Server 10 兼容性修补程序。
添加了服务,但无法在服务目录中找到该服务。
对服务目录中的信息进行缓存,可以快速导航其链接,从而提高性能。若要对服务执行添加、删除或修改操作,您必须对缓存进行清理,以使变更显示在服务目录中。导航到 http://<服务器名称>/<实例名称>/rest/admin,登录,然后单击清除缓存选项。您可以创建一个自动清除缓存的时间表,也可以通过手动方式清除缓存。清除缓存后,即可在服务目录中看到新服务。
可使用 ArcGIS Server 发布哪些符合 OGC 的服务?
您可以使用 ArcGIS Server 来发布 Web 地图服务 (WMS)、Web 要素服务 (WFS) 和网络覆盖服务 (WCS)。
在创建包含地理数据库中的图层的服务时遇到问题。
要了解如何配置 ArcSDE 及其他地理数据库图层所需的正确权限,请参阅准备要发布的资源。
尝试在 ArcCatalog 中预览地图服务时图像显示空白。
如果您看到一个空白的预览 选项卡,而且移动鼠标时下方显示坐标值,则很可能是 ArcCatalog 无法从与输出目录相关联的虚拟目录中获取地图图像。在这种情况下,ArcCatalog 具有除实际图像之外的所有地图相关信息,这便是您在移动鼠标时看到坐标值的原因。修复此问题的最好方法是使用 Web 服务器管理软件对虚拟目录设置进行检查,以确保虚拟目录正确指向磁盘中的输出目录。
要证实此问题与输出目录有关,可调整地图服务的属性,从而使所支持的图像返回类型仅为 MIME。此设置不使用输出目录。如果只看到具有 MIME 的图像,而未看到具有 MIME + URL 的图像,则说明输出目录和/或虚拟目录出现了问题。
您可以浏览到磁盘中的输出目录以确保图像创建于其内部。如果您在尝试预览地图服务时看到正在向输出目录添加图像,则说明此问题与虚拟目录设置有关。
开始创建地图缓存,且该过程用去很长时间。此创建过程将于何时结束?
创建地图缓存所需的时间取决于所构建的缓存类型(融合或多图层)、所选的比例级别,以及专为生成缓存而分配的服务器资源的数量。在“规划地图缓存”主题的预估缓存创建时间部分中,对这些因素进行了详细论述。
如何将服务从开发计算机迁移到生产计算机?
您可以将 <ArcGIS>\server\user\cfg 文件夹从开发计算机复制并粘贴到生产计算机中的同一位置,从而覆盖原始的 cfg 文件。稍后,您将需要手动重新启动 ArcGIS Server 对象管理器 Windows 服务。如果服务的数据在生产计算机上存储在不同的文件夹结构中,则需修改服务属性以引用该数据的新路径。
与非池化服务建立的 ArcGIS Server Internet 连接的速度非常慢。
建议您通过 ArcGIS Server 本地连接而非 ArcGIS Server Internet 连接来使用非池化服务。
Internet 连接以完全无状态方式使用服务。通过 Internet 发送的每个服务请求均会在服务的后端 DCOM 组件上生成上下文获取及发布。如果服务为非池化服务,则每个上下文发布都将造成服务实例的取缔,并对其进行重新创建。这种服务的运算量非常大,尤其是当客户端向服务发送多个请求时。例如,一个简单的 Web ADF 制图应用程序可能要连接到服务,以获取地图对象、MapDescription 和 ImageDescription,然后执行绘图请求。上述操作中的每一个都包括上下文获取和发布。如果服务为非池化服务,且客户端正在通过 Internet 连接该服务,则上述操作中的每一个都将造成服务实例的创建及取缔,从而降低性能。
最近对地图和 globe 缓存进行了更新。客户端应用程序会自动识别出更新后的可用切片吗?
如果您更新了地图或 globe 缓存的某个区域,则曾经访问过该区域和范围的 ArcMap、ArcGlobe 和 ArcGIS Explorer 用户必须先清除各自的本地图像缓存,然后才能查看到更新。作为一名服务器管理员,您需要提醒用户何时可以获取到更新的数据,以便他们及时清除缓存。请查阅客户端应用程序的帮助系统,以获取有关如何清理本地缓存的说明。
ArcGIS Server 将数据锁定。
默认情况下,ArcGIS Server 地图服务使用架构锁定来防止其他用户在服务运行期间更改地理数据库架构。如果架构锁阻碍了工作流程,则可以禁用锁定功能,方法是将 SchemaLockingEnabled 标记手动添加到服务配置文件中,然后将该标记设置为假。有关编辑服务配置文件和如何使用此标记的详细信息,请参阅服务配置文件。
发布了一个 globe 服务,但一些图层却消失了。
无法在其他 globe 服务的内部发布 globe 服务。丢失的图层可能来自您尝试发布的 ArcGlobe 文档 (.3dd) 中的其他 globe 服务。例如,ArcGlobe 中的默认 ArcGIS Online 服务是 ESRI 托管的 globe 服务,其会在您发布 globe 服务时被删除。
如果要查看丢失的图层,可将 globe 服务添加到新的 .3dd 或 .nmf 文档中。然后,您便可以连接到相应的服务器(如 ArcGIS Online)并添加最初从 globe 服务中删除的图层。
发送大型作业时地理处理服务失灵。
要将大型数据集发送到地理处理服务,可以进行多项调整。
对于 ArcGIS Server Internet 服务,请确保最大消息请求大小足够大。在 ArcGIS 实例目录(例如:C:\Inetpub\wwwroot\ArcGIS)中,打开服务目录,找到 web.config 文件,然后在 httpRuntime 标记中编辑 maxRequestLength。如果未在此处找到该标记,则需进行添加:
<system.web> ... <httpRuntimemaxRequestLength="20000"></httpRuntime> </system.web>
maxRequestLength 的默认大小为 4096 千字节。要允许较大型请求,可按上述方法增大此大小。
处理大型地理处理作业时,您可能还需要延长客户端可以使用某个服务的最长时间。您可以在服务属性 对话框的池化 选项卡中完成此配置。默认值为 600 秒或 10 分钟。要了解与服务相关的超时现象的信息,请参阅调整和配置服务。
运行 Web 制图应用程序时,地图显示空白。
地图显示空白的常见原因是您引用了一个已停止、不可用或不存在的地图服务。网络流量、权限问题以及对服务和文件系统属性的修改都可能导致出现空白地图。此帮助系统的“管理服务器”部分对如何防范和避免此类问题进行了说明。
如果 Web 服务器计算机的名称中包含下划线 (_),也可能出现空白地图。有关此限制的详细信息,请参阅 ESRI 知识库文章 32503。
运行地理处理任务时收到“拒绝访问”错误消息。
在 Web 应用程序内运行地理处理任务时,您可以保存包含结果相关信息的文件,以便之后在应用程序会话中使用。文件的保存位置由地理处理任务的 VirtualDirectory 属性确定。运行时,如果用于运行 Web 应用程序的帐户因权限不足而无法访问此目录,将显示“拒绝访问”错误消息。在 Visual Studio 中打开该应用程序是一种解决办法,在解决方案资源管理器 中右键单击项目名称,然后单击添加 ArcGIS 标识。通过 ASP.NET 模拟,可使用您所指定的用户名和密码运行该应用程序。此用户名和密码应该对地理处理任务的虚拟目录具有读取及写入权限。
在 Web 应用程序中运行地理处理任务时,无法显示保存和检查任务结果链接。
只有在 IIS 管理器中将地理处理任务的虚拟目录的执行权限设置为仅限脚本后,上述链接才可用。
搜索属性任务生成意外结果或错误消息。
对 ArcGIS Server 地图服务进行搜索时所得到的结果的数量有时会超出预期。这是由搜索方式所造成的。在管理器中定义“搜索属性”任务时,您将指定要搜索的图层以及要从这些图层中搜索的字段。尽管从管理器中来看,似乎要在特定图层中搜索特定字段,但事实上,您只是简单定义了待搜索图层的列表以及要搜索的字段的列表。因此,如果两个图层具有同一个字段名称,则会在两个图层中对字段进行搜索。
如果将“搜索属性”任务配置为使用具有相同名称的两个图层,则一旦在两个图层中均找到匹配字段,应用程序就会返回一个错误。这是一个已知问题。
运行任务时,结果未在地图中高亮显示。此外,结果旁边有时会没有复选框,而且缩放至和平移至选项也不可用。
运行任务时,每个结果要素通常列于一个可用于高亮显示该要素的复选框旁。另外,您可以右键单击一个结果,然后选择缩放至或平移至所选要素。
复选框可能会消失,并因此无法对要素进行选择。如果数据集的“形状”字段在地图文档中被标记为隐藏,则将出现此现象。Web 应用程序无法获取到所需几何,且复选框会被略去。
当数据集的“形状”字段处于隐藏状态时,查询任务的结果将不具有复选框,所选要素不会在地图上高亮显示,而且缩放至和平移至选项将不可用。
显示搜索或标识操作的结果时,复选框将出现,但所选要素仍然无法在地图上高亮显示。
要导航到要素并对其进行选择,请执行以下步骤:
- 启动 ArcMap 并打开地图服务的源地图文档。
- 打开您的任务所使用的图层的图层属性。
- 单击字段选项卡。将显示该图层中的字段的列表。
- 确保将形状字段旁的复选框选中。
- 保存地图文档,然后重新启动服务。
如何优化 Web 应用程序的性能?
要确保 Web 应用程序具有最佳性能,请查看主题 Web 应用程序的性能提示。ESRI 一直在寻求提高核心软件性能的途径以及通过调整硬件和软件设置来改善现有应用程序性能的方法。我们会不断地将最佳做法添加到上述链接主题的 Web 帮助中。