Śledzenie WCF. Jak mogę uzyskać dokładny powód zamknięcia połączenia?
W mojej usłudze WCF przy próbie przesyłania dużych danych ciągle pojawia się błąd:Podstawowe połączenie zostało zamknięte: połączenie zostało nieoczekiwanie zamknięte
Chcę wiedzieć, jaki konkretny powód wywołuje ten błąd, więc skonfigurowałemŚledzenie WCF i umie czytaćtraces.svclog plik.
Problem polega na tym, że widzę w tym pliku wiele informacji o przepływie procesów, widzę dokładny czas, kiedy pojawia się wyjątek, ale nie widzę dokładnej przyczyny tego. Czy to z powoduMaxReceivedMessageSize czy jakoś tak.
Czy tak jesttraces.svclog nie może zawierać takich informacji lub czy robię coś złego?
Jak można uzyskać takie informacje?
Edytowane (dodane):
Z mojego app.config po stronie serwera:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="NAVBinding_ICustomer_Service"
closeTimeout="01:50:00"
openTimeout="01:50:00" receiveTimeout="01:50:00" sendTimeout="01:50:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="2147483647" maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647" messageEncoding="Text"
textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<services>
<service name = "Customer_Service" behaviorConfiguration="returnFaults">
<endpoint name="NAVBinding_ICustomer_Service"
address = "http://localhost:8000/nav/customer"
binding = "basicHttpBinding"
bindingConfiguration= "NAVBinding_ICustomer_Service"
contract = "NAVServiceReference.ICustomer_Service"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="returnFaults" >
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
Edytowane (dodane):
Jaki jest właściwy i najlepszy sposób na przekształcenie usługi WCF z „czarnej skrzynki” w łatwą w rozwiązywaniu problemów usługę, która mówi, dlaczego coś nie idzie w oczekiwany sposób? Jakie narzędzia, techniki używasz do rozwiązywania problemów z usługą WCF?