2012-01-05 48 views
0

我的问题是:为什么当项目在Visual Studio 2010中运行,但是从IIS在同一台电脑上没有送达时,开发站点的工作?ASP.NET网站通过从Visual Studio SSL远程连接,但不IIS

我想建立一个客户的网站的开发副本。启动时,该站点连接到远程数据库服务器。连接使用WCF和SSL证书来保护它。当我在PC上安装站点时,按照说明进行操作,我在“受信任的根证书颁发机构”中安装了证书链,并添加了注册表项和主机条目来解析与远程服务的连接。

当我在PC上打开Visual Studio 2010中的解决方案并在内置的ASP.NET开发服务器上运行它时,它可以工作 - 我的工作站通过自定义端口上的SSL连接到远程服务(444)并且开发站点从服务中成功查询数据。所有这些都由项目提供的DLL处理,并且不在我的工作范围之内。我被告知前面说,这个连接对于SSL证书,两台机器之间的系统时钟协议等都非常挑剔,而且我花了一些时间来尝试使它工作。

然而,当我在本地IIS运行网站(Windows 7中,IIS 7.5)的网站无法连接到远程服务;该服务将不接受SSL连接。启动代码在发生这种情况时会引发异常,从而阻止网站进一步加载。

其他的一切似乎很好地工作:唯一的皱纹是VS要求安全连接DLL的32位版本,而IIS的Windows 7需要一个64位版本。两者都提供给我,我根据需要交换它们。

+0

什么是完整的例外呢? – NotMe 2012-01-05 20:28:20

+0

该异常没有来自原点的堆栈跟踪;这里是它抛出的代码。我无法访问连接库(即“XX_DataCon_Client”)的源代码。 '如果(ConfigSettings.WcfComChannelState == XX_DataCon_Client.Errors.UPDC_Errors.SSLNegotiateFailed) { \t掷新的异常(“发生错误的数据源提供者接触。\ r \ n此服务不可用在所配置的位置”。) ; }' – Lars 2012-01-05 20:38:56

+0

啊哈!这是证书链安装。我之前没有使用certmgr并接受“当前用户”的默认实体商店。客户端技术联系人通过重新进行操作,选择了“Local Machine”。现在IIS进程也将SSL证书识别​​为可信,并且连接初始化正常。 – Lars 2012-01-06 17:42:48

回答

0

%的意见,得到的答案是:检查证书链(信任由WCF连接所使用的SSL证书)安装到本地计算机(使IIS看到它),而不仅仅是当前用户(帐号使用由Visual Studio)。

相关问题