SuperMapIS.NET不出圖問題排查思路

來源:互聯網
上載者:User
常見現象

一般情況下把瀏覽地圖頁面看不到地圖的情況歸為不出圖的問題,常見現象如下:

1頁面報:“由於目標電腦積極拒絕,無法串連。IP地址:8800”。

2頁面報:“應用程式中的伺服器錯誤。未將對象引用設定到對象的執行個體”

3地圖表單顯示紅叉號,進度條一直進行。

4地圖表單顯示灰色,放大縮小沒有反應,瀏覽器左下角報指令碼錯誤。

5瀏覽Demo頁面,Demo 架構會顯示,但是地圖顯示視窗為空白。

6地圖表單為灰色,但是出來了地圖列表、圖層列表。

7本機可以訪問,但是區域網路訪問就不出圖了。

8建立一個工程,拖上一個地圖控制項,單擊右上方載入地圖,報錯串連地圖伺服器失敗,或者出圖為帶叉號。

繼續閱讀下文前請參考:

1請您確定已經參考了《SuperMap IS.NET不出圖的常見問題》,並且還是不能解決您的問題。

2如果Xp系統,IIS5.1並發串連數限制為10個,經常出不出圖,或者出圖了高亮時候顯示帶叉號的圖片,建議更換為Windows Server系列伺服器。

3如果是SuperMap IS.NET 20008的專業版,由於專業版不支援Ajax開發方式,所以配置了專業版許可AjaxDemo是不出圖的,同樣採用了Ajax開發方式的工程也不回出圖。

4該文檔適用於SuperMap IS.NET 2008系列及SuperMap IS.NET 6.0及SuperMap IS.NET 6.0SP1等版本。

常見原因

不出圖的常見的原因如下:

1地圖伺服器沒有啟動或者啟動失敗

2Maphandler書寫錯誤

3伺服器位址與連接埠不能訪問

4Output虛擬目錄不能訪問

5圖片訪問或輸出地址錯誤

解決方案

現象是由特定的原因引起,而引起不出圖的原因情況比較多,針對常見現象我們可以分析是什麼原因引起的問題:

現象1:不能串連到地圖服務或者串連地圖服務失敗,這類問題一般是由於地圖伺服器沒啟動或者啟動失敗引起,具體解決方案可以參考《SuperMapIS.NET啟動失敗常見問題》;

現象2:一般是由於修改了工作空間,而沒有重啟地圖服務,或者工程請求的地圖在工作空間中不存在引起,第一種情況的話,建議更改了地圖服務發布的工作空間後重啟地圖服務、web伺服器、重新開啟瀏覽器進行瀏覽,第二種情況建議查看代碼請求地圖修改為工作空間已有的地圖;

現象3:一般WebControl開放方式的MapControl載入圖片預設帶有進度條,而進度條一直存在表明一直正在擷取圖片,此時有兩種情況,output目錄不能訪問或者圖片訪問或輸出地址錯誤,output虛擬目錄能否訪問可以直接用瀏覽器瀏覽output虛擬目錄下內容如http://localhost/is/output/圖片名,則可以直接看到output目錄能否訪問了,圖片訪問地址是否正確可以通過瀏覽器右下角狀態列觀察到圖片訪問地址是否正確或者直接查看地圖服務管理工具查看圖片訪問地址是否正確;

現象4:一般出現在第一次使用AjaxScripts開發方式開發,部署自己的maphandler時候,除了寫代碼過程出現細節問題,主要由於對Maphandler的理解及output目錄不能訪問或者圖片訪問或輸出地址錯誤,前面已對後面一種原因詳細介紹,針對maphandler的理解請參考《maphandler介紹與建立》文檔; 現象5與6:一般此問題有兩種情況,output目錄不能訪問或者圖片訪問或輸出地址錯誤,output虛擬目錄能否訪問可以直接用瀏覽器瀏覽output虛擬目錄下內容如http://localhost/is/output/圖片名,則可以直接看到output目錄能否訪問了,圖片訪問地址是否正確可以通過瀏覽器右下角狀態列觀察到圖片訪問地址是否正確或者直接查看地圖服務管理工具查看圖片訪問地址是否正確,如果是output虛擬目錄不能訪問可以查看IIS相關介紹,修改使其正常能訪問,如果是圖片訪問地址錯誤,修改為能正常訪問地址,例如預設的圖片訪問地址為{hostname},如果區域網路訪問則修改為伺服器IP地址;

現象7:一般是由於圖片訪問原因,因為圖片訪問地址預設是主機名稱,如果區域網路訪問則有時候訪問不到,所以此處建議把圖片訪問地址修改為主機ip地址;

現象8:一般情況下由於maphandler書寫錯誤引起,此種現象常見於AjaxControl開發方式,由於預設的AjaxControl開發方式拖到頁面一個MapControl控制項,單擊右上方MapControl task面板load Map按鈕後彈出載入地圖面板,此時需要填寫Addr輸入框中顯示的是ip地址,但是此出需要填寫為maphandler,例如本機訪問可以為“http://localhost/IS/AjaxDemo/“。

上面只是對常見現象進行了簡單分析,如果您想後續開發過程中快速定位問題,找到原因之所在,強烈建議您繼續閱讀。針對該問題一般情況下要考慮的問題如下,首先確定地圖伺服器已近啟動且啟動成功,如果不知道如何判斷地圖伺服器是否啟動成功,請參考《判斷SuperMap IS.NET啟動是否成功的兩種方式》,如果啟動失敗請參考《SuperMap IS.NET啟動失敗問題排查注意事項》及《SuperMap IS.NET啟動失敗常見問題》等文檔。

其次output虛擬目錄是圖片發布地址,一般情況下要確保IIS下有一個output目錄並配置為能正常訪問,預設SuperMapIS.NET安裝後會在IIS上建立一個output虛擬目錄,地址為http://localhost/IS/Output/;如果建立了不能訪問或建立了一個output目錄,需要把設定這個目錄的匿名訪問及整合Windows身份認證並把授權規則設定為所有人訪問。

圖片訪問地址是地圖伺服器發送給用戶端地圖伺服器產生地圖的地址,找到SuperMap IS.NET安裝目錄/bin的SuperMapIS.config檔案,用記事本開啟,定位至website=http://localhost/is/output節點,查看此節點設定,是否是上面output的地址;圖片輸出目錄是地圖伺服器產生地圖的目錄,找到SuperMapIS.config檔案中options output="..\output",預設的出圖目錄為SuperMap IS.NET安裝目錄/output,如果修改請重新定向,注意此處的圖片訪問地址的website所指向的虛擬目錄必須為options節點所指向的物理出圖路徑。

如果工程使用Ajax開發方式,請確定Maphandle是否書寫正確,Maphandle正確書寫格式 是“ http://localhost/工程虛擬目錄/ ”或者 “./”,前提是工程配置了系統引用庫和web.config檔案地圖伺服器位址和handler,預設範例為“ http://localhost/IS/AjaxDemo/”,如果是非80連接埠,請把Maphandler設定為“./”。 建議把Maphandler書寫為“./”。在建立了maphandler的工程的Web.config檔案中<add key="MapServer_Address" value="localhost" /><add key="MapServer_Port" value="8800" />節點配置了地圖伺服器,如果web工程和地圖伺服器不在同一台機子上請把此處MapServer_Address修改為地圖伺服器的IP地址,並且確定能正常訪問該地址和連接埠。

更多資訊

1如果初次安裝SuperMap IS.NET請先參考《SuperMap IS.NET安裝調試注意事項》

2更加直觀快速定位問題請參考使用fiddle或者httpwatch等工具來進行快速分析定位問題。

3跨域訪問,如果不明白跨域問題請參考SuperMap IS.NET線上說明中開發指南—專題介紹—跨域訪問相關介紹,常見例子如訪問工程地址如http://IP地址/虛擬目錄名字/,但是圖片訪問地址和maphandler都是書寫為http://localhost/虛擬目錄名字/即有可能引起跨域訪問問題,建議如果用IP均用IP,用localhost均用localhost。

4如果使用開發方式為TcpMap,則注意注意建立串連時候寫入正確地址和連接埠,並且地圖伺服器正常啟動、連接埠和地址能正常訪問,常見寫法IMap m_map = TcpMap.Create(MapServerAddress, MapServerPort, new Hashtable());。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.