• ArcGIS Server开发一个最容易忽略的错误


    ArcGIS Server开发中一个最容易忽略的错误

    作者:gisbase 来源:www.gisbase.cn

          昨天开发了一个ProportionalSymbolRender(梯度着色)的功能,我想当然的按照ArcEngine下的写法,运行也没有提示,就是看不到地图。

    折腾了一个下午也没有搞定,最后就把代码转到ArcEngine桌面系统下,一切正常。现在基本确定,代码思路没有问题,那是哪里出错了呢,nnd 22点了,该走了。上网搜一下吧,最后看到了这个文章《ArcGIS常见问题集锦》(http://www.gisbase.cn/chxnews.asp?id=861),其中有条就是俺犯的错误,使用了new。

    现把问题记下,时刻提醒自己。

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

    在使用ServerContextcreateobject来实现的时候,需要注意的是createobject的参数“CLSID”,
    该参数的规律为“esri”+命名空间+ 类名,比如说:要创建一个ESRI.ArcGIS.Geometry.IPoint对象, ESRI.ArcGIS.Geometry.IPoint pt =ServerContext.CreateObject("esriGeometry.Point") as ESRI.ArcGIS.Geometry.IPoint;
    CLSID = esri + esriGeometry.Point
    同样对于其他对象也是如此,再比如:
    ESRI.ArcGIS.Geodatabase.ITableSort pTableSort = ServerContext.CreateObject("esriGeodatabase.TableSort") as ESRI.ArcGIS.Geodatabase.ITableSort; CLSOD = esri + esriGeodatabase.TableSort

    还有一个错误,也是初学者容易犯的,也做个记号吧。

    2 Web Application中看不到图片的问题
    这是因为没有在Web App中指定连接用户引起的,有两种方式可以来为Web App添加用户名和密码。
    A 在vs2005的解决方案管理器中,在相应的网页名称点右键,点击Add ArcGIS Identity

    在对话框中输入连接GIS Server的用户名,密码,和机器名称。

    B 直接在Web AppWeb.Config中添加明码的identity标签,里面指定用户名和密码。
    格式如下:
    <Identity impers userName = "username" password = "password">

  • 相关阅读:
    关于深浅克隆
    忙话codesmith
    SynchronizedDictionary线程安全的泛型版本
    自制定长的Queue
    白忙活
    发现一个不错的技术社区(水木清华)
    自已实现线程池
    Berkeley DB .net 进行添加和更新操作
    关于ThreadPool.RegisterWaitForSingleObject和WaitHandle的应用介绍
    1100内产生3个不重复的随机数
  • 原文地址:https://www.cnblogs.com/gisbase/p/1659014.html
Copyright © 2020-2023  润新知