天天看點

MapXtreme 2005 學習心得 了解建立MapXtreme項目結構(二)

一:建立示例 

首先,打開vs2005,建立網站,選擇mapxtreme 6.7.1 web application

救命網站目錄關鍵結構如下:

1:app_code檔案夾

有一個自定義的appstatemanager.cs類,繼承自statemanager,主要是實作自定義的地圖儲存與還原,地圖都存在session中的,而且還是序列化成二進制存進去的

2:mapxtremewebresources檔案夾

MapXtreme 2005 學習心得 了解建立MapXtreme項目結構(二)

主要有幾個關鍵的js,比如:

interaction.js,互動用的js,比如是實作點選,輕按兩下,還是滑鼠移動,還是畫圈之類的.

command.js,發送指令用的,比如是getmap,請求一個地圖,還是zoomout放大地圖,或是zoomin縮小地圖

tool.js,就是界面上拉的那些控件工具用的,比如點選一個控件,才能引發相應的點選,并發送指令

MapXtreme 2005 學習心得 了解建立MapXtreme項目結構(二)

3:global.asax

主要是一些地圖出錯後的處理

4:mapform.aspx

主要的示例界面,裡面拖了一個地圖顯示控件,和一些工具控件在裡面

背景有幾句代碼,主要是用于通路時,初始化狀态管理,并還原地圖顯示;退出時,就儲存地圖目前的狀态

5:web.config:相關的地圖配置

<add key="mapinfo.engine.session.pooled" value="true" />

說明:是否開啟session池,一般都開了

MapXtreme 2005 學習心得 了解建立MapXtreme項目結構(二)

<add key="mapinfo.engine.session.state" value="manual" />

有兩個選項httpsessionstate和manual

httpsessionstate時,系統自動管理地圖的儲存

manual時,手動來決定是否儲存使用者狀态了。就像頁面退出時,調了個方法,來手動儲存地圖狀态

MapXtreme 2005 學習心得 了解建立MapXtreme項目結構(二)
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的說明

MapXtreme 2005 學習心得 了解建立MapXtreme項目結構(二)

<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[實體類],如果實體類不是可序列化的,就報錯了

MapXtreme 2005 學習心得 了解建立MapXtreme項目結構(二)

ok,就先介紹到這裡了...

版權聲明:本文原創發表于部落格園,作者為路過秋天,原文連結:

http://www.cnblogs.com/cyq1162/archive/2009/11/02/1594404.html

繼續閱讀