none
无法打开安全通道,因为与远程终结点的安全协商已失败。这可能是由于用于创建通道的 EndpointAddress 中不存在 EndpointIdentity 或错误指定了 EndpointIdentity。请确认由 EndpointAddress 指定或暗示的 EndpointIdentity 正确标识了远程终结点。 RRS feed

  • 问题

  • 在VS中使用如下代码调用服务无异常:

            WSHttpBinding WShb = new WSHttpBinding();//使用协议与服务端相同
            EndpointAddress epo = new EndpointAddress("http://localhost:1562/WebServer/Service.svc");//指定WCF服务地址
            ChannelFactory<IService> cf = new ChannelFactory<IService>(WShb, epo); ;//创建客户频道
            IService sv1 = cf.CreateChannel();//创建服务接口实例并连接到服务端
                this.TextBox1.Text = sv1.GetData(Convert.ToInt32(TextBox1.Text.ToString()));

    当把服务架设到IIS时出现异常:

            WSHttpBinding WShb = new WSHttpBinding();//使用协议与服务端相同
            EndpointAddress epo = new EndpointAddress("http://192.168.1.159:8080/");//指定WCF服务地址
            ChannelFactory<IService> cf = new ChannelFactory<IService>(WShb, epo); ;//创建客户频道
            IService sv1 = cf.CreateChannel();//创建服务接口实例并连接到服务端
            this.TextBox1.Text = sv1.GetData(Convert.ToInt32(TextBox1.Text.ToString()));
    通过VS的添加服务引用方式引用:
    http://192.168.1.159:8080/

    可以正常引用,说明IIS配置没有问题,应该是客户端代码有问题当服务在IIS下需要有变动吗??


    2012年7月31日 10:16

全部回复