我正在努力让WCF现在使用SSL和ANYTHING五天。我经历了无数的演练,产生了比邮购文凭公司更多的证书,甚至尝试了热修复。从VB1开始使用MS dev工具后,我现在正在考虑将汉堡作为职业选择。据我所知,WCF是一个完整的柠檬。
无论如何,要了解我的实际问题:如果我完成本演练:
http://msdn.microsoft.com/en-us/library/ff648840.aspx
我转到步骤11(添加服务引用)并获取“从地址下载元数据时出错。请确认您输入了有效地址”。
错误详情给出:下载“https://localhost/SSL6/Service.svc”时出错。 无法连接到远程服务器 无法建立连接,因为目标计算机主动拒绝了它127.0.0.1:443
我在带有IIS7的Windows 7上使用VS2008。我完全遵循了演练(除了在IIS7上不同的第5步 - 我进入了VD的“SSL设置”),所以它显示了我的配置(是的,我使用了httpsGetEnabled和mexHttpsBinding)。
任何人都在乎保护我的理智和工作吗?
编辑:如果我进入IIS,在内容视图中选择VD,右键单击svc文件并浏览,我得到“Internet Explorer无法显示网页”。 Chrome提供“Google Chrome无法连接到localhost”。
IE故障排除提供“远程设备或资源不接受连接”。
如果我使用IP地址浏览而不是通过http使用localhost,则表示它使用https确保安全。如果我使用IP和https浏览,则会收到HTTP错误503.该服务不可用。
所以它看起来像DNS问题结合......某事。 当我尝试运行服务站点项目时,我得到“无法在Web服务器上开始调试。无法连接到Web服务器。验证Web服务器是否正在运行,并且传入的HTTP请求未被防火墙阻止” 。我检查了防火墙,没关系。
答案 0 :(得分:2)
最后破解了它。至少有三个问题在起作用。
1)localhost的某种DNS问题。它在我的机器上仍然没有解决,但我可以通过使用IP addy解决它。
2)另一个问题可能是,显然,WCF不能与IIS 7 OOTB一起使用。因此,您需要以管理员身份运行命令提示符,并运行以下命令 -
“%windir%\ Microsoft.NET \ Framework \ v3.0 \ Windows Communication Foundation \ ServiceModelReg.exe”-r -y
3)在我通过证书后,我仍然收到HTTP错误503,“服务不可用”。这最终成为我之前尝试的遗留物,仍在听取端口:
因此,为了获得WCF和SSL发生的世界级服务,我花了整整一个星期的时间,在我的旅行中,我发现许多朝圣者花了大约相同的时间。微软:你失败了。
答案 1 :(得分:1)
您使用的是IIS还是自托管?如果你正在使用IIS,听起来它配置不正确,因为它似乎不接受端口443上的连接;我猜你可能错过了协议绑定(https到端口443)。有关在IIS7 here上设置可能有用的SSL的详细讨论。
当然,您可以使用浏览器轻松验证这一点,您应该可以使用SSL连接到该网站。
答案 2 :(得分:0)
当我发生此错误时,我发现从Visual Studio运行服务以获取其他信息非常有用。右键单击该服务,然后选择Debug - >从弹出菜单中启动新实例。 VS将使用WcfTestClient.exe启动该服务。
WcfTestClient将显示服务项目中的所有服务和端点。健康的启动会在左侧的面板中列出您的服务,并在右侧的面板中提供“起始页”选项卡。但是,在您的情况下,您将获得 top 面板中的服务列表以及底部的“附加信息”框。您的问题服务将出现错误状态。
单击上方面板中的问题服务,“附加信息”框将填充错误消息和堆栈跟踪。该消息将准确告诉您问题mex(元数据交换)地址是什么。这可能足以暗示您解决问题。如果没有,请在此处发布附加信息,我很乐意看一下。