您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > ArcGISServer常见问题
ArcGISServer常见问题之一摘自ESRI网站,有些内容是有限制的,要会员才能看到。目前关于ArcGISServer开发的资料非常少,就这么一点文档,还要限制,不能让大家共享,实在是罪过。现在我贴出来,希望这些资料对一起学习AGS的朋友有所帮助。错误描述在ArcCatalog中,当成功的创建了serverobject之后,serverobject不能被预览。ArcCatalog显示下面的错误信息:“你的选择不能在当前视图中显示.”导致原因server属性中被指定的输出值和http位置可能不正确。解决办法所有的创建的ArcGISServerObjects需要被停止。1在ArcCatalog中,右击已经添加的ArcGISServer,并选择Server属性。2在目录页中,选中已经添加的输出目录并点击编辑。3输出目录字段应该指向一个有效的目录,比如C:\ArcGIS\Output。如果一个虚拟目录已经被指定,确认它是有效的,并且看上去和下面的格式一样,如果有错请更改,然后重新创建serverobject来确认更改是否有效。错误描述当在VisualStudio.NET2003上使用ArcGISServer.NET的ADF模板创建一个项目时,返回如下错误信息:“在服务器主机名上的Web站点不可用(WebSiteonserverhostisnotavailable)”导致原因该模板包含了调用'这一URL的属性。如果在IIS中禁用了本地主机的服务,则显示该错误信息。禁用本地服务可能是因为你的Web站点已经为其指定了一个IP地址或者是因为安全方面的考虑。解决办法启用对的访问决定于您安装的是哪种类型的操作系统,是服务器还是非服务器。对于非服务器的操作系统:1.点击Internet信息服务控制台,右键选择默认站点的属性,打开属性对话框,并选择网站标签页。2.修改IP地址栏为(全部未分配)。3.重启IIS。在IE浏览器中浏览刚刚启用的服务,在VisualStudio.NET2003中用模板创建项目,现在应该是成功的了。对于WindowsServer操作系统:1.在Internet信息服务控制台上创建一个新的Web站点。2.为其分配IP地址:127.0.0.1。意味着只能在本地计算机上启用该站点。3.浏览Web站点的根目录,比如C:\Inetput\。此时在VisualStudio.NET2003中用模板创建项目应该没有问题。错误描述当启动一个服务对象时,出现下述错误信息:“在机器XXX上创建Server环境(Context)失败。拒绝访问output文件夹。”导致原因ArcGISServerObjectContainer的帐号必须拥有虚拟文件夹的写权限。例如虚拟文件夹为:c:\inetpub\解决办法执行如下步骤:右键点击虚拟文件夹如:c:\inetpub\选择属性-安全标签页.2.添加帐号并赋予写权限,使其可以读写图片.3.点击OK,关闭属性对话框.错误描述使用下面的代码,来进行使用字体中的符号进行点要素渲染的时候,会出现地图消失的问题。下面的代码是用来生成需要在渲染过程中使用的点符号的,使用的是宋体中index为21的字作为符号。privatestaticICharacterMarkerSymbolGetMarkerSymbol(IServerContextpServerContext,PowerNet.GISCommon.SymbolClasspSymbolClass){System.Drawing.FontdrawFont=newSystem.Drawing.Font(宋体,21);ICharacterMarkerSymbolcharMarker=pServerContext.CreateObject(esriDisplay.CharacterMarkerSymbol)asICharacterMarkerSymbol;charMarker.Font=(stdole.IFontDisp)OLE.GetIFontDispFromFont(drawFont);charMarker.CharacterIndex=pSymbolClass.CharacterIndex;IRgbColorpRGB=pServerContext.CreateObject(esriDisplay.RgbColor)asIRgbColor;pRGB.Red=pSymbolClass.SymbolColorR;pRGB.Green=pSymbolClass.SymbolColorG;pRGB.Blue=pSymbolClass.SymbolColorB;charMarker.Color=pRGBasIColor;charMarker.Size=pSymbolClass.SymbolSize;returncharMarker;}导致原因使用ArcGISEngine进行开发时,对于点要素类,是可以使用指定字体中的符号作为渲染的符号的,但是在arcgisserver的应用中来实现这个过程,就稍微有点不同,导致的原因还是本地对象和远程对象进行了混用?对于ao对象,可能大家都已经有这个概念,就是一般不在本地创建对象,但是对于其它的对象,比如.net中的对象,可能就没有太注意了,所以才导致了这个问题的出现。解决办法这个问题的解决办法是这样的,为了避免在程序中使用下面这句代码:System.Drawing.FontdrawFont=newSystem.Drawing.Font(pSymbolClass.FontSymbolName,21);可以采用先在*.Style文件中把符号都配好,然后转成*.ServerStyle文件,然后使用下面的代码得到相应的符号:privateIMarkerSymbolcreateSymbol(IServerContextpServerContext,stringindex){IStyleGallerypSGallery=pServerContext.CreateObject(esriDisplay.ServerStyleGallery)asIStyleGallery;IStyleGalleryStoragepSGStorage=pSGalleryasIStyleGalleryStorage;pSGStorage.TargetFile=@D:\xjw.ServerStyle;pSGStorage.AddFile(@D:\xjw.ServerStyle);IEnumStyleGalleryItempEnumGItem=pSGallery.get_Items(MarkerSymbols,@D:\xjw.ServerStyle,index);pEnumGItem.Reset();IStyleGalleryItempSGItem=pEnumGItem.Next();IMarkerSymbolpMSymbol=pSGItem.ItemasIMarkerSymbol;IRgbColorpRGB=pServerContext.CreateObject(esriDisplay.RgbColor)asIRgbColor;pRGB.Red=255;pRGB.Green=0;pRGB.Blue=0;pMSymbol.Color=pRGB;pMSymbol.Size=18;pEnumGItem=null;pSGItem=null;returnpMSymbol;}错误描述这个错误可能发生在.net中的ArcGISPrimaryInteropAssemblies(PIA)。在错误信息中的CLSID可能会变化:COMobjectwithCLSID{XXXX}iseithernotvalidornotregistered导致原因在ArcGIS安装中选择安装.NET的支持,PIAs就会为所有的ArcGIS库而安装上。当在尝试使用一个对象库的PIA时,而这个对象库根本就没有安装时,错误就会发生,因为Com对象不能被初始化。例如,3DAnalyst扩展模块没有被安装,而尝试使用ESRI.ArcGIS.Analyst3D命名空间中的对象,使用如下代码:ESRI.ArcGIS.Analyst3D.IAnimationTrackaTrack=newESRI.ArcGIS.Analyst3D.AnimationTrackClass();一个错误就会发生:Errornumber-2147221164:COMobjectwithCLSID{4FEDC9CB-A7BE-11D5-B2A0-00508BCDDE28}iseithernotvalidornotregistered.解决办法编程只能使用安装了的对象库。为了开发使用一个特殊的库,那就需要重新安装ArcGIS产品,确保所需的扩展模块都被安装,以及所有的.NET的支持选项。额外的许可会被需要。1识别使用的对象,以及这些对象所属的命名空间。2识别命名空间所属的产品。例如,为了使用ESRI.ArcGIS.Analyst3D命名空间中的对象,在开发帮助中浏览库总体说明那一页。会有注解说明这个命名空间是有ArcGISEngine产品的3D扩展模块,ArcGISdesktop3D扩展模块,以及ArcGISServer的3D扩展模块支持。3重新安装产品,确保所需的扩展模块得到安装,且保证.Net支持选项被选中。错误描述当使用ArcGIS开发者控件开发应用程序、控件拖放于窗体上的时候,出现以下错误信息:该控件需要一个ESRIDesigner许可。请从工程中移除该控件。导致原因出现这个信息是因为ArcGISEngineDeveloperKit这个产品未在机器上安装并授权。ArcGISDesktop安装了以下控件:-MapControl-PageLayoutControl-GlobeControl-ReaderControl-SceneControl-TOCControl-ToolbarControlArcGISDesktop许可仅允许使用MapControl和PageLayoutControl进行开发或设计应用程序。剩下的其它控件许可给ArcGISEngine,并仅能在ArcGISEngineDeveloperKit已安装并授权时用于开发。解决办法购买ArcGISEngineDeveloperKit产品,并在机器上授权以下任意控件:-GlobeControl-ReaderControl-SceneControl-TOCControl-ToolbarControl有关如何使用这些控件的详细信息,以及哪些控件需要对应哪些许可,请参考ArcGISDeveloperHelp。例如,'TOCControlCoClass'帮助主题提到,该控件只在有ArcGISEngine产品时才可用。错误描述安装出错1935当安装ArcGISServer,ArcGISDesktop,includingArcView,ArcEditor,ArcInfo;orArcIMS,都可能发生如下错误:Error1935:Anerroroccuredduringtheinstallationofassemblycomponent{303994BA-6487-47AE-AF1D-7AF6088EEBDB}.HRESULT:-2147024894.之后点击'OK'安装回滚退出.导致原因导致原因这个错误发生在系统安装(MicrosoftXMLParser4)更新.这现同样的错误信息将发生在试图安装(MicrosoftXMLParser4.0)的时候;这也可能修改,但是经常会因为其他产品的安装而影响系统文件破坏。解决办法步骤:1.尽可能停止一些后台程序,例如adware或sp
本文标题:ArcGISServer常见问题
链接地址:https://www.777doc.com/doc-2898213 .html