none
wcf 遇见问题...请教 RRS feed

答案

全部回复

  • 服务器端appconfig

    <system.serviceModel>
        <services>
           <service name="DataBase.WCF.OAClass" behaviorConfiguration="metadataSupport">
            <host>
              <baseAddresses>
                <add baseAddress="net.tcp://localhost:8001/TcpBinding"/>
              </baseAddresses>
            </host>
            <endpoint contract="DataBase.WCF.IOAClass" name="NetTcpBinding_IOAClass" binding="netTcpBinding" />
            <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" />
          </service>
        <bindings>
          <netTcpBinding>
            <binding name="NetTcpBinding_IOAClass" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00"
                      sendTimeout="00:01:00" transferMode="Buffered" transactionProtocol="OleTransactions" hostNameComparisonMode="StrongWildcard"
                      listenBacklog="10" maxBufferPoolSize="5242880000" maxConnections="10" maxReceivedMessageSize="655360000">
              <security mode="None" />
            </binding>
          </netTcpBinding>
        </bindings>
        <behaviors>
          <serviceBehaviors>
            <behavior name="metadataSupport">
              <serviceMetadata httpGetEnabled="False" />
              <serviceDebug includeExceptionDetailInFaults="false"/>
              <serviceThrottling maxConcurrentCalls="10" maxConcurrentInstances="5" maxConcurrentSessions="5"/>
            </behavior>
          </serviceBehaviors>
        </behaviors>
      </system.serviceModel>

    2011年12月21日 4:31
  • 客户端appconfig

    <system.serviceModel>
            <bindings>
                <netTcpBinding>
                     <binding name="NetTcpBinding_IOAClass" closeTimeout="00:01:00"
                        openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                        transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
                        hostNameComparisonMode="StrongWildcard" listenBacklog="10"
                        maxBufferPoolSize="52428800" maxBufferSize="6553600" maxConnections="10"
                        maxReceivedMessageSize="6553600">
                        <readerQuotas maxDepth="32" maxStringContentLength="819200" maxArrayLength="9163840"
                            maxBytesPerRead="409600" maxNameTableCharCount="1638400" />
                        <reliableSession ordered="true" inactivityTimeout="00:10:00"
                            enabled="false" />
                        <security mode="None">
                        </security>
                    </binding>
                    </netTcpBinding>
            </bindings>
            <client>
                <endpoint address="net.tcp://172.17.1.102:8001/TcpBinding" binding="netTcpBinding"
                    bindingConfiguration="NetTcpBinding_IOAClass" contract="OAService.IOAClass"
                    name="NetTcpBinding_IOAClass">
                </endpoint>
            </client>
        </system.serviceModel>

    2011年12月21日 4:33
  • 客户端和服务器端在一起没有 问题,部署在两台机器上后,就会报上面的错误。防火墙全部关闭,两台机器都能ping通。希望大家帮我看看 ~~~

    2011年12月21日 4:37
  • Hi,

    看你上面的服务端app.config,你没有将NetTcpBinding_IOAClass添加到endpoint的bindingConfiguration属性上,如果服务端发送非常大的数据到客户端,在客户端配置文件设置中你可以提高reader quotas与maxReceivedMessageSize的值。你也可以试着增大maxConnections与listBacklog的值,如: maxConnections为100,listBacklog为200,你可以在服务端与客户端启用WCF Tracing来查看详细的异常信息。

    #enable WCF tracing.
    http://blogs.msdn.com/b/madhuponduru/archive/2006/05/18/601458.aspx

     


    Please mark the replies as answers if they help or unmark if not. If you have any feedback about my replies, please contact msdnmg@microsoft.com Microsoft One Code Framework
    2011年12月23日 6:57
    版主
  • Hi,

    看你上面的服务端app.config,你没有将NetTcpBinding_IOAClass添加到endpoint的bindingConfiguration属性上,如果服务端发送非常大的数据到客户端,在客户端配置文件设置中你可以提高reader quotas与maxReceivedMessageSize的值。你也可以试着增大maxConnections与listBacklog的值,如: maxConnections为100,listBacklog为200,你可以在服务端与客户端启用WCF Tracing来查看详细的异常信息。

    #enable WCF tracing.
    http://blogs.msdn.com/b/madhuponduru/archive/2006/05/18/601458.aspx

     


    Please mark the replies as answers if they help or unmark if not. If you have any feedback about my replies, please contact msdnmg@microsoft.com Microsoft One Code Framework

    你防火墙开了吗?我看你使用的是8001
    Frank Xu Lei--谦卑若愚,好学若饥
    老徐的网站】:http://www.frankxulei.com/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    Windows Azure中文技术论坛

    2011年12月26日 5:16
    版主
  • 这个问题应该是传输安全方面的原因,tcpbingding默认是启用传输安全的也就是Transport,如果跨服务器的话就会验证客户端身份。如果不希望使用传输安全就应当在服务端显示的配置为None。
    2011年12月28日 2:24