• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Never Give Up
天才在于勤奋,知识在于积累
博客园    首页    新随笔    联系   管理    订阅  订阅

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

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组中.

posted @ 2012-10-24 10:06  Terry Sun  阅读(12515)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3