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

简介:

一:新建示例 

首先,打开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时,手动来决定是否保存用户状态了。就像页面退出时,调了个方法,来手动保存地图状态
复制代码

 

复制代码
< 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 >

处理请求用的

 

复制代码
< 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,就先介绍到这里了...

相关文章
|
并行计算 Docker 容器
Mamba 环境安装:causal-conv1d和mamba-ssm报错解决办法
Mamba 环境安装:causal-conv1d和mamba-ssm报错解决办法
5225 0
|
3天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
271 116
|
18天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
12天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
663 219
|
5天前
|
数据采集 人工智能 自然语言处理
Meta SAM3开源:让图像分割,听懂你的话
Meta发布并开源SAM 3,首个支持文本或视觉提示的统一图像视频分割模型,可精准分割“红色条纹伞”等开放词汇概念,覆盖400万独特概念,性能达人类水平75%–80%,推动视觉分割新突破。
350 34
Meta SAM3开源:让图像分割,听懂你的话
|
10天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1587 157
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
897 61