寒假里做了一个通行证程序~目的是为了做单点登陆~在Vista的IIS7上测试基本没有问题~各功能都正常运行~迁移到服务器上后出问题了~服务器用的是Windows Server 2008~本以为2个都是IIS7应该不会出什么大问题的~结果一访问就提示HTTP Error 500.19 - Internal Server Error~具体错误是Cannot add duplicate collection entry of type 'add' with unique key attribute 'name' set to 'ScriptHandlerFactory'~由于在BeginRequest的时候就要访问web.config所以该虚拟目录下的任何路径都无法访问~很是郁闷~起初以为文件复制的时候复制错了~重新复制了一遍还是出错~去网上查了关于500.19错误的详细信息~发现很多人在使用vista的IIS7的时候碰到这个问题~原因是先安装了.Net再安装IIS才出错的~我的2008不存在这个问题~然后参考了微软的KB942055帮助文章~其中叙述说是由于ApplicationHost.config中存在多个<add accessType="Allow" users="*" />而导致此错误的~于是查看ApplicationHost.config文件~只发现了一个上述节点~问题还是没解决~不过发现了一个单词"duplicate"~这个词在我的错误提示和微软的帮助文档中都有出现~于是想起ScriptHandlerFactory在主站点中已被add name过~而在虚拟目录中又被add name一次~于是导致了此错误的发生~在add前先remove即可~500.19问题到此解决了~但是访问WCF服务时又出现了另一个问题This collection already contains an address with scheme http.  There can be at most one address per scheme in this collection. 关于此问题~官方的回复是The service should work anyway and be able to respond to multiple base addresses.

posted on 2008-03-01 01:29  Magic.Z  阅读(6590)  评论(4编辑  收藏  举报