我在443端口下有一个notificationService但是当我尝试将它添加到windows phone 7服务引用时我不能,所以可以链接到我的服务部署在443端口下的事实。
向http://localhost:443/NotificationService.svc发出HTTP请求时发生错误。这可能是由于在HTTPS情况下未使用HTTP.SYS正确配置服务器证书。这也可能是由客户端和服务器之间的安全绑定不匹配引起的。 底层连接已关闭:发送时发生意外错误。 由于意外的数据包格式,握手失败。 如果在当前解决方案中定义了服务,请尝试构建解决方案并再次添加服务引用。
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="True" multipleSiteBindingsEnabled="false"/>
<services>
<service name="Project.Services.NotificationService"
behaviorConfiguration="notificationservicebehavior">
<endpoint name="basicHttpBinding"
contract="Project.Services.INotificationService"
address="http://127.0.0.1:443/NotificationService.svc"
binding="basicHttpBinding"
/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="notificationservicebehavior">
<serviceMetadata httpGetEnabled="true" httpGetUrl="" />
</behavior>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
答案 0 :(得分:3)
如果您使用的是自签名证书或不是these authorities中任何一个的证书,则需要在设备上安装此证书。
在设备上安装第三方证书的方法只有两种,目前无法通过代码完成:
通过Windows®安装证书 InternetExplorer®
证书可以 发布在网站上并制作 通过一个可供用户使用 设备可访问的URL,他们可以 用于下载证书。什么时候 用户访问该页面并点击该页面 证书,它在设备上打开。 用户可以检查证书, 如果他们选择继续 证书安装在 设备。通过电子邮件安装证书
证书安装程序 Windows Phone 7支持.cer,.p7b, 和.pfx文件。安装时 通过电子邮件证明,确保你的 邮件过滤器不会阻止.cer文件。 通过电子邮件发送的证书 显示为邮件附件。当一个 收到证书,用户可以 点击查看内容然后 点按即可安装证书。 通常,当一个身份 用户安装证书 提示输入密码 保护它。
在应用程序使用证书之前,您必须让用户执行其中一项操作。