xfliu139
路人甲
路人甲
  • 注册日期2008-01-11
  • 发帖数11
  • QQ
  • 铜币161枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2197回复:1

mapxtreme2005下"无法在asp.net会话中找到statemanager的实例"这种错误如何解决呢?

楼主#
更多 发布于:2008-06-16 18:01
<P>从数据库中加载临时图层的方法如下所示<BR>/// <summary><BR>    /// 创建一个用图标表示数据库中点的图层<BR>    /// </summary><BR>    /// <param name="layerName">所要创建的图层名称</param><BR>    /// <param name="bmpName">用于表示数据点的图片</param><BR>    /// <param name="dt">绑定于图层的数据表</param><BR>    private void AddBmpPointLayer(string layerName, string bmpName, DataTable dt, Color color,Map map)<BR>    {<BR>     SpatialSchemaXY xy = new SpatialSchemaXY();<BR>        xy.CoordSys = map.GetDisplayCoordSys();<BR>        //经纬度字段(特别指定lon,lat)<BR>        xy.XColumn = "jd";<BR>        xy.YColumn = "wd";<BR>        TableInfoServer ti = new TableInfoServer(layerName);<BR>        ti.ConnectString = "SRVR=orac;UID=cqytdb;PWD=cqytdb";<BR>        ti.Query = "select jh,jd,wd from d6000";<BR>        ti.SpatialSchema = xy;<BR>        ti.Toolkit = ServerToolkit.Oci;<BR>        ti.CacheSettings.CacheType = CacheOption.Off;<BR>        MapInfo.Data.Table tbl = MapInfo.Engine.Session.Current.Catalog.OpenTable(ti);<BR>        FeatureLayer fl = new FeatureLayer(tbl);<BR>        map.Layers.Add(fl); <BR>}</P>
<P>AppStateManager状态管理类中的状态保存方法如下所示<BR>        public override void RestoreState()<BR>        {<BR>            .<BR>            .<BR>            .                <BR>                if (HttpContext.Current.Session["油井图层" + "Table"] != null)<BR>                {<BR>                    ManualSerializer.RestoreMapXtremeObjectFromHttpSession("油井图层" + "Table");<BR>                    ManualSerializer.RestoreMapXtremeObjectFromHttpSession("油井图层" + "Layer");<BR>                }        <BR>        }</P>
<P> public override void SaveState()<BR>        {<BR>            .<BR>            .<BR>            .                <BR>            Catalog Cat = MapInfo.Engine.Session.Current.Catalog;<BR>            ManualSerializer.SaveMapXtremeObjectIntoHttpSession(Cat["油井图层"], "油井图层" + "Table");<BR>            ManualSerializer.SaveMapXtremeObjectIntoHttpSession(myMap.Layers["油井图层"], "油井图层" + "Layer");<BR>        }</P>
<P>程序主要代码如上所示,从数据库中临时加载的图层也可以显示,可是如果打开系统,长时间不操作地图,再次进行操作,比如:放大,缩小,挪动就会报错:"无法在asp.net会话中找到statemanager的实例",请教各位达人问题出在哪里呢?<BR>关于从数据库中加载临是图层究竟该如何编写呢?请指教!我的qq:75297245,邮箱:<a href="mailtxfliu138@163.com" target="_blank" >xfliu138@163.com</A></P>
<IMG src="http://www.shanggu.net.cn/error.jpg" border=0>
喜欢0 评分0
xfliu139
路人甲
路人甲
  • 注册日期2008-01-11
  • 发帖数11
  • QQ
  • 铜币161枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2008-06-19 08:38
<P>难道没有一个人遇见过这种问题吗?强烈要求斑竹解决!!!</P><img src="images/post/smile/dvbbs/em06.gif" /><img src="images/post/smile/dvbbs/em06.gif" /><img src="images/post/smile/dvbbs/em06.gif" />
举报 回复(0) 喜欢(0)     评分
游客

返回顶部