Autor Beitrag
Mr.y
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: Mo 22.11.10 20:46 
Hallo
ich hab ein Problem beim Empfang von den Daten, die mein Service zurückliefert....
Und zwar hab ich nen ChannelFactory einmal am Anfang geöffnet....
ausblenden C#-Quelltext
1:
iProxy = new ChannelFactory<IContracts>("").CreateChannel();					


Dann schicke ich über den Service was an meine SQL-Klasse und er funktioniert wunderbar.
Genau nach der selben Methode frage ich wieder über meinen Service was von meiner DB.
Er führt sql-Anfrage aus, schickt das Ergebnis zurück,

ausblenden C#-Quelltext
1:
2:
3:
DataTable dtResult = new DataTable();
dtResult = iProxy.getInhaberDetails(pKontoNummer);//sobald er wieder auf die linke Seite was reinschreiben will, kommt der unten stehende Fehler
return dtResult;



und sobald er wieder im Client-Fenster ist,
kommt folgende Fehlermeldung:

System.IO.IOException: Fehler bei Lesevorgang
siehe interne Ausnahme. ---> System.ServiceModel.CommunicationException: Die Socketverbindung wurde abgebrochen. Dies kann durch einen Fehler beim Verarbeiten der Nachricht
durch ein Überschreiten des Empfangstimeouts durch den Remotehost oder durch eine Problem bei der zugrundeliegenden Netzwerkressource verursacht sein. Lokaler Sockettimeout: "00:00:59.8950000". ---> System.Net.Sockets.SocketException: Eine vorhandene Verbindung wurde vom Remotehost geschlossen


Hab einen Lösungsansatz gefunden und zwar hat einer was in der app.config eingestellt, aber bei mir bringt das irgendwie nichts:
App.config von dem Client:
ausblenden XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <client>
      <endpoint address ="net.tcp://127.0.0.1:8080/BankService"
                binding ="netTcpBinding"
                contract="ServerClientWCF.IContracts"
                bindingConfiguration="BankBindung" >
               
      </endpoint>
    </client>

    <bindings>
      <netTcpBinding>
        
        <binding name="BankBindung" maxReceivedMessageSize="10485760">
          <readerQuotas maxArrayLength ="10485760" />  //Diese Zeile soll die Lösung sein....
          <security mode="Transport">
            <transport clientCredentialType ="Windows"
                       protectionLevel="None">
              
            </transport>
          </security>
        </binding>  
      </netTcpBinding>
    </bindings>
  </system.serviceModel>
</configuration>



Warum kann sowas passieren?
Was habe ich beim zweiten Aufruf von meinem Service nicht berücksichtig, sodass er die Socketverbindung abbricht??
Danke für jeden Tipp :)