MapXtreme 2005 学习心得 了解新建MapXtreme项目结构(二)

Stella981
• 阅读 453

一:新建示例

首先,打开VS2005,新建网站,选择MapXtreme 6.7.1 Web Application

救命网站目录关键结构如下:

1:App_Code文件夹

有一个自定义的AppStateManager.cs类,继承自StateManager,主要是实现自定义的地图保存与还原,地图都存在Session中的,而且还是序列化成二进制存进去的

2:MapXtremeWebResources文件夹

主要有几个关键的js,比如:

Interaction.js,交互用的js,比如是实现点击,双击,还是鼠标移动,还是画圈之类的.

Command.js,发送命令用的,比如是GetMap,请求一个地图,还是ZoomOut放大地图,或是ZoomIn缩小地图

Tool.js,就是界面上拉的那些控件工具用的,比如点击一个控件,才能引发相应的点击,并发送命令

3:Global.asax

主要是一些地图出错后的处理

4:MapForm.aspx

主要的示例界面,里面拖了一个地图显示控件,和一些工具控件在里面

后台有几句代码,主要是用于访问时,初始化状态管理,并还原地图显示;退出时,就保存地图当前的状态

5:Web.Config:相关的地图配置

< add  key ="MapInfo.Engine.Session.Pooled"  value ="true" />

说明:是否开启Session池,一般都开了

< add  key ="MapInfo.Engine.Session.State"  value ="Manual" />

有两个选项HttpSessionState和Manual

HttpSessionState时,系统自动管理地图的保存

Manual时,手动来决定是否保存用户状态了。就像页面退出时,调了个方法,来手动保存地图状态

MapXtreme 2005 学习心得 了解新建MapXtreme项目结构(二) MapXtreme 2005 学习心得 了解新建MapXtreme项目结构(二)

< add  key ="MapInfo.Engine.Session.Workspace"  value ="C:\Program Files\MapInfo\MapXtreme\6.7.1\Samples\Data\World.mws;c:\Program Files (x86)\MapInfo\MapXtreme\6.7.1\Samples\Data\World.mws" />

地图的工作空间,可以有多个,用“,”号分隔。有一个MapFactory[索引]来取相应的地图

一般都是通过地图别名来取,很奇怪的我这里就是用别名取不到,只能取MapFactory[0]即第一个

所以一般工作空间就一个了

可以参考自C:\Program Files\MapInfo\MapXtreme\6.7.1\Documentation\PDF\MapXtreme2005_DevGuide.pdf中的文档第六章中的A Detailed Look at Manual State Management下的Application Settings即关于webconfig的说明

< assemblies > 程序集 </ assemblies >

没啥说的,copy就行

< httpHandlers > 和 < httpModules >

处理请求用的

MapXtreme 2005 学习心得 了解新建MapXtreme项目结构(二) MapXtreme 2005 学习心得 了解新建MapXtreme项目结构(二)

< sessionState  mode ="StateServer"  stateConnectionString ="tcpip=127.0.0.1:42424"  sqlConnectionString ="data source=127.0.0.1;Trusted_Connection=yes"  cookieless ="false"  timeout ="20" />

这个就是Sesstion是保存到数据库中的了,和以往的InProc不一样了

所以相关的地方就是当你要用到Session的时候,存的东西必即是可序列化的,不然就报错了

比如HttpContext.Session[实体类],如果实体类不是可序列化的,就报错了

OK,就先介绍到这里了...

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
待兔 待兔
2个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Stella981 Stella981
2年前
Gson之实例五
前面四篇博客基本上可以满足我们处理的绝大多数需求,但有时项目中对json有特殊的格式规定.比如下面的json串解析:{"tableName":"students","tableData":{"id":1,"name":"李坤","birthDay":"Jun 22, 2012 9:54:49 PM"},{"id":2,"name":"曹贵生"
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
8个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这