1

XML 文字列を読み取る WCF サービスを呼び出そうとしています。このエラーが発生します。以下は、サービスの web.config ファイルです。

<?xml version="1.0"?>
<configuration>

<system.web>
    <compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
    <behaviors>
        <serviceBehaviors>
            <behavior>
                <serviceMetadata httpGetEnabled="true"/>
                <serviceDebug     includeExceptionDetailInFaults="true"/>
                <dataContractSerializer maxItemsInObjectGraph="2147483647" />
            </behavior>
        </serviceBehaviors>
    </behaviors>
    <bindings>
        <basicHttpBinding>
            <binding name="BasicHttpBinding_IOrderCreateService"
                     maxReceivedMessageSize="2147483647"
                     openTimeout="00:1:00"
                     closeTimeout="00:1:00"
                     sendTimeout="00:25:00"
                     receiveTimeout="00:25:00">

            </binding>

        <binding name="HandleLargeMessage" maxReceivedMessageSize="2147483647">
            <readerQuotas maxDepth="2147483647"
               maxStringContentLength="2147483647"
               maxArrayLength="2147483647"
               maxBytesPerRead="2147483647"
               maxNameTableCharCount="2147483647" />

        </binding>
        </basicHttpBinding>

    </bindings>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
    <services>

        <!-- beta.telagententerprise.com/WcfServices-->
        <service name="OrderCreateService.OrderCreateService">
            <endpoint name="MessageServiceEndpoint"
                      address="http://localhost:2966/OrderCreateService.svc"
                      binding="basicHttpBinding"
                      bindingConfiguration="HandleLargeMessage"
                      contract="IOrderCreateService" />

        </service>

    </services>     
</system.serviceModel>

以下はクライアント側の app.config です

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
    <behaviors>
    <serviceBehaviors>
        <behavior>
            <serviceMetadata httpGetEnabled="true"/>
            <serviceDebug includeExceptionDetailInFaults="true"/>
            <dataContractSerializer maxItemsInObjectGraph="2147483647" />
        </behavior>
    </serviceBehaviors>
    </behaviors>
    <bindings>
        <basicHttpBinding>
            <binding name="BasicHttpBinding_IOrderCreateService"
                     maxReceivedMessageSize="2147483647"
                     openTimeout="00:1:00"
                     closeTimeout="00:1:00"
                     sendTimeout="00:25:00"
                     receiveTimeout="00:25:00">

            </binding>

            <binding name="HandleLargeMessage" maxReceivedMessageSize="2147483647">
                <readerQuotas maxDepth="2147483647"
                   maxStringContentLength="2147483647"
                   maxArrayLength="2147483647"
                   maxBytesPerRead="2147483647"
                   maxNameTableCharCount="2147483647" />

            </binding>
        </basicHttpBinding>

    </bindings>
    <client>
        <endpoint name="MessageServiceEndpoint"
                      address="http://localhost:2966/OrderCreateService.svc"
                      binding="basicHttpBinding"
                      bindingConfiguration="HandleLargeMessage"
                      contract="OrderCreateService.IOrderCreateService" />


    </client>
</system.serviceModel>

このエラーを検索して、上記のこのコードを試しても 8192 エラーが発生します。どんな助けでも素晴らしいでしょう。ありがとう、S

4

2 に答える 2

0

クライアントとサーバーの両方の .config ファイルで maxStringContentLength = "2147483647" を設定した後でも、同じ問題が発生しました。Web で多くの提案を試みた後、クライアント プロジェクトとサーバー プロジェクトの両方でターゲット フレームワークを一致させることで修正されました (Visual Studio 2013 の [プロジェクト プロパティ/ビルド] タブ/[プラットフォーム ターゲット] の下)。

于 2015-01-31T03:53:18.297 に答える
0

サーバー側の構成 --> エンドポイント要素のコントラクト値が完全修飾されていません。する必要がありますOrderCreateService.IOrderCreateService

また、IIS でホストしている場合、サービスへのアドレス マッピングは IIS によって処理されます。

于 2012-10-03T13:37:57.183 に答える