使用tcp 没问题,加上http协议就报错,请指教!

解决方案 »

  1.   

    提示很明确,你使用的是basicHttp而不是wsDualXXX协议
    双工的应用可以参考我的博文
    http://www.cnblogs.com/andy1987/p/3298806.html具体你的目的从你描述中我也不是很清楚
      

  2.   

    你从哪里听来http协议可以支持双工的?http从来就是单向的请求,只能客户端向服务端请求,服务端不能向客户端发起任何形式的主动请求,这个模式你居然不知道?
      

  3.   

    详细参考http://msdn.microsoft.com/zh-cn/library/ms730879(v=vs.100).aspxWCF 附带有以下绑定。绑定  配置元素  说明  
    BasicHttpBinding
     <basicHttpBinding>
     一个绑定,适用于与符合 WS-Basic Profile 的 Web 服务(例如基于 ASP.NET Web 服务 (ASMX) 的服务)进行的通信。此绑定使用 HTTP 作为传输协议,并使用文本/XML 作为默认的消息编码。
     
    WSHttpBinding
     <wsHttpBinding>
     一个安全且可互操作的绑定,适合于非双工服务约定。
     
    WSDualHttpBinding
     <wsDualHttpBinding>
     一个安全且可互操作的绑定,适用于双工服务协定或通过 SOAP 媒介进行的通信。
     
    WSFederationHttpBinding
     <wsFederationHttpBinding>
     一个支持 WS-Federation 协议的安全的、可互操作的绑定,使联盟中的组织可以高效地对用户进行身份验证和授权。
     
    NetTcpBinding
     <netTcpBinding>
     一个安全且经过优化的绑定,适用于 WCF 应用程序之间跨计算机的通信。
     
    NetNamedPipeBinding
     <netNamedPipeBinding>
     一个安全、可靠且经过优化的绑定,适用于 WCF 应用程序之间计算机上的通信。
     
    NetMsmqBinding
     <netMsmqBinding>
     一个排队绑定,适用于 WCF 应用程序之间的跨计算机的通信。
     
    NetPeerTcpBinding
     <netPeerTcpBinding>
     一个支持多计算机安全通信的绑定。
     
    MsmqIntegrationBinding
     <msmqIntegrationBinding>
     一个适合于 WCF 应用程序和现有消息队列应用程序之间的跨计算机通信的绑定。
     
    BasicHttpContextBinding
     <basicHttpContextBinding>
     一个绑定,适用于与符合 WS-Basic Profile 且允许使用 HTTP Cookie 交换上下文的 Web 服务进行的通信。
     
    NetTcpContextBinding
     <netTcpContextBinding>
     一个安全且经过优化的绑定,适用于允许使用 SOAP 标头交换上下文的 WCF 应用程序之间跨计算机的通信。
     
    WebHttpBinding
     <webHttpBinding>
     一个绑定,可用于为通过 HTTP 请求(而不是 SOAP 消息)公开的 WCF Web 服务配置终结点。
     
    WSHttpContextBinding
     <wsHttpContextBinding>
     一个安全且可互操作的绑定,适用于允许使用 SOAP 标头交换上下文的非双工服务协定。
     下表显示系统提供的每个绑定的功能。在表列中可找到绑定;在行中列出了功能,在第二个表中描述了这些功能。下表提供所用绑定缩写的概要。若要选择绑定,应确定哪列能满足所需的所有行中的功能。绑定  互操作性  安全性(默认)  会话 (默认)  事务  双工  编码(默认)  流 (默认)  
    BasicHttpBinding
     基本配置文件 1.1
     (无)、传输、消息、混合
     (无)
     (无)
     n/a
     文本、(MTOM)
     是(缓冲式)
     
    WSHttpBinding
     WS
     传输、(消息)、混合
     (无)、可靠会话、安全会话
     (无)、是
     n/a
     (文本)、MTOM
     否
     
    WSDualHttpBinding
     WS
     (消息)、无
     (可靠会话)、安全会话
     (无)、是
     是
     (文本)、MTOM
     否
     
    WSFederationHttpBinding 
     WS-Federation
     (消息)、混合、无
     (无)、可靠会话、安全会话
     (无)、是
     否
     (文本)、MTOM
     否
     
    NetTcpBinding
     .NET
     (传输)、消息、无、混合
     (传输)、可靠会话、安全会话
     (无)、是
     是
     二进制
     是(缓冲式)
     
    NetNamedPipeBinding
     .NET
     (传输)、无
     无、(传输)
     (无)、是
     是
     二进制
     是(缓冲式)
     
    NetMsmqBinding
     .NET
     消息、(传输)、无
     (无)、传输
     无、(是)
     否
     二进制
     否
     
    NetPeerTcpBinding
     对等
     (传输)
     (无)
     (无)
     是
     
     否
     
    MsmqIntegrationBinding 
     MSMQ
     (传输)
     (无)
     无、(是)
     n/a
     n/a
     否
     
    BasicHttpContextBinding
     基本配置文件 1.1
     (无)、传输、消息、混合
     (无)
     (无)
     n/a
     文本、(MTOM)
     是(缓冲式)
     
    NetTcpContextBinding
     .NET
     (传输)、消息、无、混合
     (传输)、可靠会话、安全会话
     (无)、是
     是
     二进制
     是(缓冲式)
     
    WSHttpContextBinding
     WS
     传输、(消息)、混合
     (无)、可靠会话、安全会话
     (无)、是
     n/a
     文本、(MTOM)
     否
     下表对上表列出的功能进行说明。功能  说明  
    互操作性类型
     指定绑定用来确保互操作的协议或技术。
     
    安全性
     指定如何保护通道:•无:不保护 SOAP 消息且不验证客户端的身份。
    •传输:在传输层上满足安全要求。
    •消息:在消息层上满足安全要求。
    •混合:声明包含在消息中;完整性和保密性要求由传输层满足。
     
    会话
     指定此绑定是否支持会话协定。
     
    事务
     指定是否启用事务。
     
    双工
     指定是否支持双工协定。请注意,此功能要求支持绑定中的会话。
     
    编码
     指定消息的网络格式。允许的值包括:•文本:例如 UTF-8。
    •二进制
    •消息传输优化机制 (MTOM):一种对 SOAP 信封上下文中二进制 XML 元素高效编码的方法。
     

     指定传入和传出消息是否支持流。使用绑定上的 TransferMode 属性可设置值。允许的值包括:•Buffered:请求消息和响应消息都是缓冲式的。
    •Streamed:请求消息和响应消息都是流式的。 
    •StreamedRequest:请求消息是流式的,而响应消息是缓冲式的。 
    •StreamedResponse:请求消息是缓冲式的,而响应消息是流式的。 
      

  4.   

    如果你在IIS6上寄宿服务,是不能支持http双工的。