0

私は一貫性のないエラーを取得しています、

  1. サービス メソッドの実行が成功した後 (サービスとクライアント間のデータ パスの間)

  2. サービスメソッド自体を実行している間。

  3. 少ないデータ [CSV と DB の数千のデータ] で遊んでも、問題なく実行されます。

私はグーグルを持っていて、設定ファイルでたくさん試しました.IISレベルでチェックする必要がある場合は助けてください.

シナリオ:

1,00,000 (1 Lakh) レコードを含むファイル (CSV) をアップロードします & DB には 1 lakh レコードも含まれます & 要件は、csv の各レコードを DB レコードと比較し、レコードが異なる統合出力を提供することです (各フィールドを比較することによって)。

Client to Service :バイト形式でファイル転送 Service to Client :コレクションオブジェクト [Generic List format]

使用されるテクノロジーとコード 初期レコードの取得に使用されるエンティティ フレームワーク 4。比較を行うために通常の foreach/for ループを使用しました。フィールド比較に使用されるスイッチ。WCF、シルバーライト、c#、.Net 4.5

以下は私の設定です、

サービス構成:

    <basicHttpBinding>
    <binding name="basicHttpBinding_IUploadService" maxBufferPoolSize="2147483647" closeTimeout="00:45:00"
              openTimeout="00:45:00" receiveTimeout="00:45:00" sendTimeout="00:45:00" maxBufferSize="2147483647"
                        maxReceivedMessageSize="2147483647">
              <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
                    maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
              <security mode="Transport">
                <transport clientCredentialType="None" proxyCredentialType="None"
                  realm="" />
                <message clientCredentialType="UserName" algorithmSuite="Default" />
              </security>
            </binding>
    </basicHttpBinding>

<service name="Namespace.UploadService">
        <endpoint address="" binding="basicHttpBinding" bindingConfiguration="basicHttpBinding_IUploadService"
           contract="Namespace.IUploadService" >
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
</service>

<behavior name="">
          <serviceMetadata httpsGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
          <ServiceErrorBehaviour/>

</behavior>

クライアント構成:

<binding name="BasicHttpBinding_IUploadService" closeTimeout="00:45:00"
          openTimeout="00:45:00" receiveTimeout="00:45:00" sendTimeout="00:45:00"
          maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
          <security mode="Transport" />
</binding>

<endpoint address="https://localhost/URL/Upload.svc"
        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IUploadService"
        contract="UploadService.IUploadService" name="BasicHttpBinding_IUploadService" />

ウェブ構成:

<system.web>
    <compilation debug="true" targetFramework="4.5"/>
    <authentication mode="Windows"/>
    <httpRuntime maxRequestLength="2147483647" executionTimeout="2700" enableVersionHeader="false"/>
    <pages controlRenderingCompatibilityVersion="4.0" clientIDMode="AutoID"/>
  </system.web>

エラー:

System.ServiceModel.CommunicationException: The remote server returned an error: NotFound. ---> System.Net.WebException: The remote server returned an error: NotFound. ---> System.Net.WebException: The remote server returned an error: NotFound.
   at System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
   at System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClassa.<EndGetResponse>b__9(Object sendState)
   at System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<BeginOnUI>b__0(Object sendState)
   --- End of inner exception stack trace --- & ...

バイト サイズ クライアントからサーバーへ (入力): 10Mb [バイト形式] & サーバーからクライアントへ (出力):少量の場合は問題ありません。

また、 httpではなく https を使用します。

ありがとう、S.Venkatesh

4

2 に答える 2

0

私は過去に同様のエラーに遭遇しましたが、ほとんどの場合、失敗していたのは WCF サービスでした。例: 通信部分に関連しないいくつかの例外。

可能であれば、WCF サービス自体をデバッグします。または、次のユーティリティを使用してトレースをセットアップし、WCF が呼び出しを正しく返していることを確認できます。

http://msdn.microsoft.com/en-us/library/ms732023.aspx

于 2013-07-09T13:56:47.857 に答える