如何摆脱wcf服务中的错误 [英] How to get rid from error in wcf services

查看:75
本文介绍了如何摆脱wcf服务中的错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的wcf服务中有一个错误

格式化程序在尝试反序列化消息时抛出异常:尝试反序列化参数http://tempuri.org时出错/:GetDetailsFromHeaderResult。 InnerException消息是'对象图中可以序列化或反序列化的最大项数是'65536'。更改对象图或增加MaxItemsInObjectGraph配额。 。

我有一个Web服务LL_SD,其web.config是



I have one error in my wcf service
The formatter threw an exception while trying to deserialize the message: There was an error while trying to deserialize parameter http://tempuri.org/:GetDetailsFromHeaderResult. The InnerException message was 'Maximum number of items that can be serialized or deserialized in an object graph is '65536'. Change the object graph or increase the MaxItemsInObjectGraph quota. '.
I have one web service LL_SD whose web.config is

  <system.serviceModel>
    <bindings>
      <wsHttpBinding>
        <binding name="WSHttpBinding_IServiceFI" closeTimeout="00:10:00"

          openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:02:00"

          bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"

          maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"

          messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"

          allowCookies="false">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"

            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          <reliableSession ordered="true" inactivityTimeout="00:10:00"

            enabled="false" />
          <security mode="Message">
            <transport clientCredentialType="Windows" proxyCredentialType="None"

              realm="" />
            <message clientCredentialType="Windows" negotiateServiceCredential="true"

              algorithmSuite="Default" />
          </security>
        </binding>
        <binding name="WSHttpBinding_IServiceMM" closeTimeout="00:10:00"

          openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:02:00"

          bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"

          maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"

          messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"

          allowCookies="false">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"

            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          <reliableSession ordered="true" inactivityTimeout="00:10:00"

            enabled="false" />
          <security mode="Message">
            <transport clientCredentialType="Windows" proxyCredentialType="None"

              realm="" />
            <message clientCredentialType="Windows" negotiateServiceCredential="true"

              algorithmSuite="Default" />
          </security>
        </binding>
        <binding name="WSHttpBinding_IServiceSD" closeTimeout="00:10:00"

          openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"

          bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"

          maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"

          messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"

          allowCookies="false">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"

            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          <reliableSession ordered="true" inactivityTimeout="00:10:00"

            enabled="false" />
          <security mode="Message">
            <transport clientCredentialType="Windows" proxyCredentialType="None"

              realm="" />
            <message clientCredentialType="Windows" negotiateServiceCredential="true"

              algorithmSuite="Default" />
          </security>
        </binding>
        <binding name="WSHttpBinding_IServiceAM" closeTimeout="00:10:00"

          openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"

          bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"

          maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"

          messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"

          allowCookies="false">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"

            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          <reliableSession ordered="true" inactivityTimeout="00:10:00"

            enabled="false" />
          <security mode="Message">
            <transport clientCredentialType="Windows" proxyCredentialType="None"

              realm="" />
            <message clientCredentialType="Windows" negotiateServiceCredential="true"

              algorithmSuite="Default" />
          </security>
        </binding>
        <binding name="WSHttpBinding_IServiceWD" closeTimeout="00:10:00"

          openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"

          bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"

          maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"

          messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"

          allowCookies="false">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"

            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          <reliableSession ordered="true" inactivityTimeout="00:10:00"

            enabled="false" />
          <security mode="Message">
            <transport clientCredentialType="Windows" proxyCredentialType="None"

              realm="" />
            <message clientCredentialType="Windows" negotiateServiceCredential="true"

              algorithmSuite="Default" />
          </security>
        </binding>
        <binding name="WSHttpBinding_IServiceBP" closeTimeout="00:10:00"

          openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"

          bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"

          maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"

          messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"

          allowCookies="false">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"

            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          <reliableSession ordered="true" inactivityTimeout="00:10:00"

            enabled="false" />
          <security mode="Message">
            <transport clientCredentialType="Windows" proxyCredentialType="None"

              realm="" />
            <message clientCredentialType="Windows" negotiateServiceCredential="true"

              algorithmSuite="Default" />
          </security>
        </binding>
        <binding name="WSHttpBinding_IServiceHR" closeTimeout="00:10:00"

          openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"

          bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"

          maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"

          messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"

          allowCookies="false">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"

            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          <reliableSession ordered="true" inactivityTimeout="00:10:00"

            enabled="false" />
          <security mode="Message">
            <transport clientCredentialType="Windows" proxyCredentialType="None"

              realm="" />
            <message clientCredentialType="Windows" negotiateServiceCredential="true"

              algorithmSuite="Default" />
          </security>
        </binding>
        <binding name="WSHttpBinding_IServiceJW" closeTimeout="00:10:00"

          openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"

          bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"

          maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"

          messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"

          allowCookies="false">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"

            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          <reliableSession ordered="true" inactivityTimeout="00:10:00"

            enabled="false" />
          <security mode="Message">
            <transport clientCredentialType="Windows" proxyCredentialType="None"

              realm="" />
            <message clientCredentialType="Windows" negotiateServiceCredential="true"

              algorithmSuite="Default" />
          </security>
        </binding>
        <binding name="WSHttpBinding_IServicePR" closeTimeout="00:10:00"

          openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"

          bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"

          maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"

          messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"

          allowCookies="false">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"

            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          <reliableSession ordered="true" inactivityTimeout="00:10:00"

            enabled="false" />
          <security mode="Message">
            <transport clientCredentialType="Windows" proxyCredentialType="None"

              realm="" />
            <message clientCredentialType="Windows" negotiateServiceCredential="true"

              algorithmSuite="Default" />
          </security>
        </binding>
        <binding name="WSHttpBinding_IRL_ServiceBySD" closeTimeout="00:10:00"

          openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"

          bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"

          maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"

          messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"

          allowCookies="false">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"

            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          <reliableSession ordered="true" inactivityTimeout="00:10:00"

            enabled="false" />
          <security mode="Message">
            <transport clientCredentialType="Windows" proxyCredentialType="None"

              realm="" />
            <message clientCredentialType="Windows" negotiateServiceCredential="true"

              algorithmSuite="Default" />
          </security>
        </binding>
        <binding name="WSHttpBinding_IRL_ServiceByMM" closeTimeout="00:10:00"

          openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"

          bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"

          maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"

          messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"

          allowCookies="false">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"

            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          <reliableSession ordered="true" inactivityTimeout="00:10:00"

            enabled="false" />
          <security mode="Message">
            <transport clientCredentialType="Windows" proxyCredentialType="None"

              realm="" />
            <message clientCredentialType="Windows" negotiateServiceCredential="true"

              algorithmSuite="Default" />
          </security>
        </binding>
        <binding name="WSHttpBinding_IService_BN" closeTimeout="00:10:00"

          openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"

          bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"

          maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"

          messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"

          allowCookies="false">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"

            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          <reliableSession ordered="true" inactivityTimeout="00:10:00"

            enabled="false" />
          <security mode="Message">
            <transport clientCredentialType="Windows" proxyCredentialType="None"

              realm="" />
            <message clientCredentialType="Windows" negotiateServiceCredential="true"

              algorithmSuite="Default" />
          </security>
        </binding>
        <binding name="WSHttpBinding_IServiceTD" closeTimeout="00:10:00"

          openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"

          bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"

          maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text"

          textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647"

            maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          <reliableSession ordered="true" inactivityTimeout="00:10:00"

            enabled="false" />
          <security mode="Message">
            <transport clientCredentialType="Windows" proxyCredentialType="None"

              realm="" />
            <message clientCredentialType="Windows" negotiateServiceCredential="true"

              algorithmSuite="Default" />
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>
    <client>


   
      
      <endpoint address="http://localhost:83/BL_FI/ServiceFI.svc" binding="wsHttpBinding"

        bindingConfiguration="WSHttpBinding_IServiceFI" contract="ServiceByFI.IServiceFI"

        name="WSHttpBinding_IServiceFI">
        <identity>
          <dns value="localhost" />
        </identity>
      </endpoint>
      <endpoint address="http://localhost:83/BL_MM/ServiceMM.svc" binding="wsHttpBinding"

        bindingConfiguration="WSHttpBinding_IServiceMM" contract="ServiceByMM.IServiceMM"

        name="WSHttpBinding_IServiceMM">
        <identity>
          <dns value="localhost" />
        </identity>
      </endpoint>
      <endpoint address="http://localhost:83/BL_SD/ServiceSD.svc" binding="wsHttpBinding"

        bindingConfiguration="WSHttpBinding_IServiceSD" contract="ServiceBySD.IServiceSD"

        name="WSHttpBinding_IServiceSD">
        <identity>
          <dns value="localhost" />
        </identity>
      </endpoint>
      <endpoint address="http://localhost:83/BL_AM/ServiceAM.svc" binding="wsHttpBinding"

        bindingConfiguration="WSHttpBinding_IServiceAM" contract="ServiceByAM.IServiceAM"

        name="WSHttpBinding_IServiceAM">
        <identity>
          <dns value="localhost" />
        </identity>
      </endpoint>
      <endpoint address="http://localhost:83/BL_WD/ServiceWD.svc" binding="wsHttpBinding"

        bindingConfiguration="WSHttpBinding_IServiceWD" contract="ServiceByWD.IServiceWD"

        name="WSHttpBinding_IServiceWD">
        <identity>
          <dns value="localhost" />
        </identity>
      </endpoint>
      <endpoint address="http://localhost:83/BL_BP/ServiceBP.svc" binding="wsHttpBinding"

        bindingConfiguration="WSHttpBinding_IServiceBP" contract="ServiceByBP.IServiceBP"

        name="WSHttpBinding_IServiceBP">
        <identity>
          <dns value="localhost" />
        </identity>
      </endpoint>
      <endpoint address="http://localhost:83/BL_HR/ServiceHR.svc" binding="wsHttpBinding"

        bindingConfiguration="WSHttpBinding_IServiceHR" contract="ServiceByHR.IServiceHR"

        name="WSHttpBinding_IServiceHR">
        <identity>
          <dns value="localhost" />
        </identity>
      </endpoint>
      <endpoint address="http://localhost:83/BL_JW/ServiceJW.svc" binding="wsHttpBinding"

        bindingConfiguration="WSHttpBinding_IServiceJW" contract="ServiceByJW.IServiceJW"

        name="WSHttpBinding_IServiceJW">
        <identity>
          <dns value="localhost" />
        </identity>
      </endpoint>
      <endpoint address="http://localhost:83/BL_PR/ServicePR.svc" binding="wsHttpBinding"

        bindingConfiguration="WSHttpBinding_IServicePR" contract="ServiceByPR.IServicePR"

        name="WSHttpBinding_IServicePR">
        <identity>
          <dns value="localhost" />
        </identity>
      </endpoint>
      <endpoint address="http://localhost:83/BL_SD/RL_ServiceBySD.svc"

        binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IRL_ServiceBySD"

        contract="RL_ServiceBySD.IRL_ServiceBySD" name="WSHttpBinding_IRL_ServiceBySD">
        <identity>
          <dns value="localhost" />
        </identity>
      </endpoint>
      <endpoint address="http://localhost:83/BL_MM/RL_ServiceByMM.svc"

        binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IRL_ServiceByMM"

        contract="RL_ServiceByMM.IRL_ServiceByMM" name="WSHttpBinding_IRL_ServiceByMM">
        <identity>
          <dns value="localhost" />
        </identity>
      </endpoint>
      <endpoint address="http://localhost:83/BL_BN/Service_BN.svc"

        binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IService_BN"

        contract="ServiceByBN.IService_BN" name="WSHttpBinding_IService_BN">
        <identity>
          <dns value="localhost" />
        </identity>
      </endpoint>
      <endpoint address="http://localhost:83/BL_TD/ServiceTD.svc"

        binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IServiceTD"

        contract="ServiceByTD.IServiceTD" name="WSHttpBinding_IServiceTD">
        <identity>
          <dns value="localhost" />
        </identity>
      </endpoint>
    </client>
    <services>
      <service behaviorConfiguration="LL_SD.Service1Behavior" name="LL_SD.Service1">
        <endpoint address="" binding="wsHttpBinding" contract="LL_SD.IService1">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
      <service behaviorConfiguration="LL_SD.LL_ServiceSDBehavior" name="LL_SD.LL_ServiceSD">
        <endpoint address="" binding="wsHttpBinding" contract="LL_SD.ILL_ServiceSD">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
      <service behaviorConfiguration="LL_SD.PL_ServiceSDBehavior" name="LL_SD.PL_ServiceSD">
        <endpoint address="" binding="wsHttpBinding" contract="LL_SD.IPL_ServiceSD">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
      <service behaviorConfiguration="LL_SD.RL_LL_ServiceBySDBehavior"

        name="LL_SD.RL_LL_ServiceBySD">
        <endpoint address="" binding="wsHttpBinding" contract="LL_SD.IRL_LL_ServiceBySD">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>

       
      
        
     
     
        
        
        <behavior name="LL_SD.Service1Behavior">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
          <serviceTimeouts transactionTimeout="00:03:00" />
          <serviceThrottling maxConcurrentCalls="1000" maxConcurrentSessions="1000"

            maxConcurrentInstances="1000" />
          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
        </behavior>
        <behavior name="LL_SD.LL_ServiceSDBehavior">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
          <serviceTimeouts transactionTimeout="00:03:00" />
          <serviceThrottling maxConcurrentCalls="1000" maxConcurrentSessions="1000"

            maxConcurrentInstances="1000"     />
          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>;
          
        </behavior>
        <behavior name="LL_SD.PL_ServiceSDBehavior">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
          <serviceTimeouts transactionTimeout="00:03:00" />
          <serviceThrottling maxConcurrentCalls="1000" maxConcurrentSessions="1000"

            maxConcurrentInstances="1000" />

          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
          
          
        </behavior>
        <behavior name="LL_SD.RL_LL_ServiceBySDBehavior">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>












reply will be appreciable
regards

推荐答案

http://stackoverflow.com/questions/9191167/maximum-number-of-items-that-can-be-serialized-or-deserialized-in-an-object-grap[^]



Apparently you need to set the maxItemsInObjectGraph from both sides (in the client and on the server).
http://stackoverflow.com/questions/9191167/maximum-number-of-items-that-can-be-serialized-or-deserialized-in-an-object-grap[^]

Apparently you need to set the maxItemsInObjectGraph from both sides (in the client and on the server).


这篇关于如何摆脱wcf服务中的错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆