一:新建示例
首先,打开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,就是界面上拉的那些控件工具用的,比如点击一个控件,才能引发相应的点击,并发送命令
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池,一般都开了
说明:是否开启Session池,一般都开了
<add key="MapInfo.Engine.Session.State" value="Manual" />
有两个选项HttpSessionState和Manual
HttpSessionState时,系统自动管理地图的保存
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的说明
地图的工作空间,可以有多个,用“,”号分隔。有一个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就行
没啥说的,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[实体类],如果实体类不是可序列化的,就报错了
这个就是Sesstion是保存到数据库中的了,和以往的InProc不一样了
所以相关的地方就是当你要用到Session的时候,存的东西必即是可序列化的,不然就报错了
比如HttpContext.Session[实体类],如果实体类不是可序列化的,就报错了
OK,就先介绍到这里了...
版权声明:本文原创发表于 博客园,作者为 路过秋天 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。 |
个人微信公众号![]() |
Donation(扫码支持作者):支付宝:![]() |
Donation(扫码支持作者):微信:![]() |
![]() |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
2007-11-02 数据绑定控件单选框