zoukankan      html  css  js  c++  java
  • 【转】 arcServer 一些 FAQ

    用户名问题
    在GIS Server PostInstall过程中会涉及到两个用户,默认情况下一个ArcGISSOM,一个是ArcGISSOC,如果用户按照默认情况下进行的话,系统就会给你创建这两个用户,而一般情况下,用户都以自己常见的身份登陆,而不会使用ArcGISSOM用户登录,所以会给后续的很多操作带来麻烦。所以在GIS Server Post Install过程中,建议使用自己常见的用户来进行。

    2 Post Install问题
    ArcGIS Server中有两个postinstall,一个是GIS Server PostInstall, 一个是Web Application PostInstall. GIS Server PostInstall因为在安装过程中自动弹出,所以一般都会做,不会忘记。而Web Application PostInstall是需要自己主动去做的,所以很多人都会忘记做这个。而Web Application PostInstall没有做的后果就是以internet方式连接arcgis server的服务都会连接不上。


    3 Manager登录不进去问题
    这个问题最主要是权限的问题,看登陆的用户是否属于agsadmin,最好能再加入到administrators组中,还有就是在登陆时不要忘记在登陆名前加入域名或机器名。

     

    4GraphicsLayer中的Graphics支持栅格图片吗
    不支持

    5MapResourceManager控件中添加了两个服务,为什么只能看到一个?
    原因可能有两个,一个是两个服务坐标不匹配,另外一个是上面一个服务没有设置为背景透明。

    6 到底能不能使用new关键字来创建对象?
    这是我们在开发ArcGIS Server过程中经常遇到的,也是我们一直在强调的,从9.0,9.1开始就一直强调,不过9.2的情况和9.2以前的版本还有所不同,因为9.2版本中ADF级别多了很多类,这些类是可以使用new关键字来创建的,但是涉及到服务端的com组件的时候还是不能使用new关键字,都需要使用ServerContext的createobject来实现。 

    7 Web Application中看不到图片的问题
    这是因为没有在Web App中指定连接用户引起的,有两种方式可以来为Web App添加用户名和密码。
    A 在vs2005的解决方案管理器中,在相应的网页名称点右键,点击Add ArcGIS Identity,在对话框中输入连接GIS Server的用户名,密码,和机器名称。
    B 直接在Web App的Web.Config中添加明码的identity标签,里面指定用户名和密码。
    格式如下:
    <Identity impers userName = "username" password = "password">

    8 地图缓存生成不完整怎么办?地图缓存是否可以移动?
    地图缓存如果因为断电或别的原因没有生成完毕就中止了,只需要进行update就可以,没有必要全部重新做,而且做好的地图缓存可以移动,只要服务的名称和原来的一致,重新启动arcgis server的服务之后就会生效。

    9  Map控件的refreshrefreshresource有什么区别?
    Refresh是刷新Map控件中的所有服务的,而refreshresouce是刷新制定服务的,如
    map中只有一个的服务的时候效果是一样的。

    10  服务启动的情况下,我更改了mxd的内容,是否需要重新启动才能起作用?
    需要重新启动。

    11  No-cached服务和Cached服务可以同时使用吗?
    可以的,在组织服务的时候,可以把静态不太改变的背景数据组织成一个服务,并为它做cache,要经常改变的数据组织成一个服务,不做cache,两个服务在同一应用中使用,通过这种方式也可以提高客户端的体验感受。

    12  ArcGIS Server9.2 adf中的各种控件所使用的脚本放在什么地方?
    ArcGIS Server9.2的各种控件所使用到的脚本文件默认都放在C:\Inetpub\wwwroot\aspnet_client\ESRI\WebADF\JavaScript目录下,您可以打开来看,以便更深入了解adf的框架.

    13、我更改了C:\Inetpub\wwwroot\aspnet_client\ESRI\WebADF\JavaScript下的脚本,为什么不起作用?
    ArcGIS Server9.2 中的各种控件默认情况下是使用嵌入的脚本,默认的情况下并不是调用C:\Inetpub\wwwroot\aspnet_client\ESRI\WebADF\JavaScript下的脚本,但嵌入的脚本是和C:\Inetpub\wwwroot\aspnet_client\ESRI\WebADF\JavaScript下的脚本一致的。每个控件都会有一个UseDefaultWebResouces的属性,当把这个属性设置为false的时候,控件才会去调用C:\Inetpub\wwwroot\aspnet_client\ESRI\WebADF\JavaScript下的脚本,这样你更改的脚本文件才会起作用。

    14、一个Serviceinstancs就代表中进程中的一个ArcSoc.exe
    不一定,如果在服务属性中的孤立性设置为高孤立性的时候,那么一个instances就代表一个arcSoc.exe,如果设置为低孤立性的时候,就不一定了。

      

    15ArcGis Server发布的5种服务及对应的资源

    GIS Resource

    GIS Service

    Map document(.mxd)

    Map service

    Globe document(.3dd)

    Globe service

    Address locator

    Geocoding service

    ArcGIS Toobox(.tbx)

    Geoprocessing service

    Geodatabase

    Geodata service

     

     16、如何优化一个要发布的地图文档

    • Use scale thresholds for rendering of layers and labels
    • Remove any unnecessary layers or data frames
    • Use annotation instead of labels
    • Avoid complex symbology and label effects

     

    17ArcGIS Server Internet连接方式和ArcGIS Server Local连接方式有什么不同?是否ArcGIS Server Internet是远程连接,ArcGIS Server Local是本地连接?

    ArcGIS Server Internet方式去连接GIS Server的时候,就相当于去连接标准的web service, 因此只有这些web service暴露出来的webmethod才可以调用,因此通过ArcGIS Server Internet方式去连接得到某个服务的时候所能得到的功能是很有限的。

     

    ArcGIS Server Local通过局域网去连接GIS Server,这个时候才可以使用后台强大的ao组件,也就是才能远程调用arcgis server提供的远程的ao组件,才能实现诸如数据的编辑等强大的功能。

     

    因此,ArcGIS Server Internet和ArcGIS Server Local不能简单的理解为就是本机连接或者是远程连接。

     

    18、池化和非池化服务的区别 

    池式的服务器对象提前被构造和初始化 

    1)能限制实例的个数(最小值,最大值)

    2)实例能被多个会话共享,用来支持更多用户的请求

    3)当返回到池中的时候实例必须复原 

    非池式的对象每次重新构造和初始化,并在返回服务器时析构

    1)能限制最大实例数

    2)每个会话使用一个实例

     

     

    19、在线编辑需要满足以下4个条件

    Editable data

    ArcSDE geodatabase

    Map service pooling

    Non-pooled

    Application connection

    Local

    ArcGIS Server license

    Advanced

     

    20、添加一个Arcgis Server管理员

    • 新建一个账号
    • 把该账号加入agsadmin和administrators组
    • 重启计算机

     

    21、添加一个Arcgis server的用户

    • 新建一个账号
    • 把该账号加入agsusers组

    22SOMSOC授权的问题 

    • SOM不包括AO,不需要授权
    • SOC包含AO,需要授权

    23、分布式部署SOC的注意事项 

    • 数据要都能访问
    • Mxd文档要都能访问
    • 注意修改Output Directory目录和虚拟路径
    • 所用机器soc使用用以用户名和密码
    • 所有机器soc使用的ArcGis Server版本和补丁号要一直
    • Llicense要一致
     
     原文地址 http://junmail.javaeye.com

    --------------------------------------------------

    系统是windows xp sp3,vs2010。安装了iis 5.1 ,创建了虚拟目录之后copy进去一个web sercices测试下能不能正常工作。

    出现如下问题:

    访问 IIS 元数据库失败。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

    异常详细信息: System.Web.Hosting.HostingEnvironmentException: 访问 IIS 元数据库失败。

    用于运行 ASP.NET 的进程帐户必须具有对 IIS 元数据库(如 IIS://servername/W3SVC)的读访问权。有关如何修改元数据库权限的信息,请参见 http://support.microsoft.com/?kbid=267904

    源错误:

    执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
    堆栈跟踪: 
    [HostingEnvironmentException: 访问 IIS 元数据库失败。]
       System.Web.Configuration.MetabaseServerConfig.MapPathCaching(String siteID, VirtualPath path) +690    System.Web.Configuration.MetabaseServerConfig.System.Web.Configuration.IConfigMapPath.MapPath(String siteID, VirtualPath vpath) +9
       System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPath virtualPath, Boolean permitNull) +174
       System.Web.CachedPathData.GetConfigPathData(String configPath) +398
       System.Web.CachedPathData.GetConfigPathData(String configPath) +263
       System.Web.CachedPathData.GetVirtualPathData(VirtualPath virtualPath, Boolean permitPathsOutsideApp) +166
       System.Web.Configuration.RuntimeConfig.GetLKGRuntimeConfig(VirtualPath path) +187
    --------------------------------------------------------------------------------
    版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42

     

    百度了下,多数解决方法是

    1、打开CMD,进入 C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727

    2、输入 aspnet_regiis.exe -i

    理由是先安装了vs后安装iis的情况下需要重新注册.net framework ,符合情况。

    照做,但是问题没解决。

    发现了这句话:

    注意:如果您正在使用 ASP.Net 2.0 且您必须授予 Windows 用户帐户元数据库权限,请不要使用 MetaAcl 工具。而是运行带 -ga 选项的 ASP.NET IIS 注册工具命令。例如,以下命令将向 Windows 用户帐户授予对 IIS 元数据库的 <WindowsUserAccount> 权限:

    aspnet_regiis -ga <WindowsUserAccount>
    看到希望了,方法明确指向错误提示中的“用于运行 ASP.NET 的进程帐户必须具有对 IIS 元数据库(如 IIS://servername/W3SVC)的读访问权”这句话, 进入 C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727  将<WindowsUserAccount>  替换为aspnet,即执行aspnet_regiis -ga aspnet命令,成功。
    再次访问服务,错误消失。
  • 相关阅读:
    人一生最后悔五件事
    C# 实现程序只启动一次(多次运行激活第一个实例,使其获得焦点,并在最前端显示)
    socket 编程 学习2
    Linux内核源码阅读以及工具(转)
    迭代法
    C语言程序设计 C语言中的时间函数(转)
    线段的平移
    数独(sudoku)的生成与破解(转)
    PageBase,ControlBase,Base Class
    Oracle “万年虫”
  • 原文地址:https://www.cnblogs.com/xiangniu/p/2007952.html
Copyright © 2011-2022 走看看