无法正确添加服务引用

时间:2011-05-20 14:23:53

标签: asp.net windows-phone-7 c#-4.0 azure

我在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>

1 个答案:

答案 0 :(得分:3)

如果您使用的是自签名证书或不是these authorities中任何一个的证书,则需要在设备上安装此证书。

在设备上安装第三方证书的方法只有两种,目前无法通过代码完成:

  

通过Windows®安装证书   InternetExplorer®
  证书可以   发布在网站上并制作   通过一个可供用户使用   设备可访问的URL,他们可以   用于下载证书。什么时候   用户访问该页面并点击该页面   证书,它在设备上打开。   用户可以检查证书,   如果他们选择继续   证书安装在   设备。

     

通过电子邮件安装证书
  证书安装程序   Windows Phone 7支持.cer,.p7b,   和.pfx文件。安装时   通过电子邮件证明,确保你的   邮件过滤器不会阻止.cer文件。   通过电子邮件发送的证书   显示为邮件附件。当一个   收到证书,用户可以   点击查看内容然后   点按即可安装证书。   通常,当一个身份   用户安装证书   提示输入密码   保护它。

在应用程序使用证书之前,您必须让用户执行其中一项操作。

来自Windows Phone 7 and Certificates_FINAL_121610.pdf