focus 专栏

--专注于.NET Web开发技术
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一个下划线(_)引发的"疑难杂症"

Posted on 2007-04-18 20:36  focus  阅读(210)  评论(0编辑  收藏  举报
最近公司用 .net  结合 sharepoint  开发了一个系统,
拿到客户服务器上部署.
虽然只是作为内部系统使用,
但是客户希望用域名来访问系统,
因此用个域名绑定了服务器.
系统还算比较顺利的部署到服务器上了,
但是有一个地方始终出错.
在该系统中,
有几张显示报表的页面,
报表是用 asp.net 2.0 的 ReportView 控件做的,
这几张页面在服务器上用服务器的机器名或者 ip 地址访问都没任何问题,
但是一用域名访问就报错:报表文件 ***.rdlc 未找到
那些报表的路径完全没有问题啊!
明明可以找到的啊!!
就这个问题断断续续查了一个多礼拜,
最后还是老大发现了罪魁祸首
就是他们域名里的那个下划线!!!
下划线在 IIS 的主机标志头里面是被禁用的字符.
大概就是因为它使得 IIS 无法正确解析到 ReportView 控件用于显示报表的 httphandle.
第二天请客户换了个域名,
报表轻轻松松全部显示出来了!