我的问题是:为什么在Visual Studio 2010中运行项目时dev站点工作,而不是在同一台PC上从IIS提供时?
我正在尝试设置客户端网站的开发副本。启动时,站点建立与远程数据库服务器的连接。该连接使用WCF和SSL证书来保护它。当我在PC上安装网站时,按照说明,我在“受信任的根证书颁发机构”中安装了一个证书链,并添加了注册表项和主机条目来解析与远程服务的连接。
当我在PC上的Visual Studio 2010中打开解决方案并在内置的ASP.NET开发服务器中运行它时,它可以工作 - 我的工作站通过自定义端口上的SSL连接到远程服务(444)开发站点从服务中成功查询数据。所有这些都是由项目提供的DLL处理的,不在我的工作范围之内。我在前面得到了简要介绍,关于SSL证书,两台机器之间的系统时钟时间协议等的连接是非常挑剔的,我花了几次尝试才能让它工作。
但是,当我在本地IIS(Windows 7,IIS 7.5)中运行该站点时,该站点无法连接到远程服务;该服务不接受SSL连接。当发生这种情况时,启动代码会抛出异常,从而阻止站点进一步加载。
其他一切似乎都运行良好:唯一的缺点是VS需要32位版本的安全连接DLL,而Windows 7上的IIS需要64位版本。两者都提供给我,我根据需要交换它们。
答案 0 :(得分:0)
根据评论,答案是:检查证书链(信任WCF连接使用的SSL证书)是否已安装到本地计算机(以便IIS看到它),而不仅仅是当前用户(由用户使用的帐户) Visual Studio)。