The remote name could not be resolved:'maps.googleapis.com' 的解決辦法


操作系統: Windows 2003(IIS 6.0)

程序類型: asp.net web application

Google Map調用方式: HttpWebResponse類去請求Google Map的static api,將HttpWebResponse獲得的Stream保存為圖片

通常情況下,這種做法不會有問題,部署到客戶的服務器上后拋出異常:The remote name could not be resolved:'maps.googleapis.com', 但是Google Map Static Api在瀏覽器中可以看到地圖, 研究后發現只要在asp.net的.cs文件中調用HttpWebResponse或WebClient類操作Google Map Static Api都會拋出上面的異常,在頁面級調用Google Map Api不會有任何問題, 而且同樣的代碼在Windows Form程序中也沒有問題。

發現問題: 只有通過域用戶訪問這個地址后才能看到圖片,即使asp.net web appication集成了windows身份驗證也會拋出上面的異常,但是Windows Form程序是可以看到地圖圖片的

解決辦法: 寫一個控制台應用程序使用同樣的代碼獲取Google Map圖片, 直接運行.exe程序可以獲得地圖圖片

再次執出異常:程序中使用System.Diagnostics.Process調用這個控制台應用程序,但是在.exe程序中拋出同樣的異常,但是手工執行.exe程序卻沒有問題, 而且在asp.net web application的日志記錄的用戶名是當前登錄的域用戶名子, .exe程序的日志記錄的用戶名是NETWORK SERVICE

最終解決辦法:

1. web application不需要集成windows身份驗證

2. 新建一個Application Pool並應用到這個web application上

3. 設置這個application pool的"Application pool identity"為一個域用戶

    a. 鼠標右鍵點擊這個application pool, 點擊"Properties"
    b. 選擇"Identity"標簽 , 選擇 "Configurable" 並輸入域用戶名和密碼,“User name”的格式必須是 domain name\user name

4. 如果是Windows 2003系統,將這個用戶再加入到IIS_WPG組中.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM