WCF-Fehler beim empfangen der HTTP-Antwort zu meinem service
Hallo Leute, ich habe einen Dienst mit WCF, aber wenn ich test meine Dienste einige erfolgreich abgeschlossen, warum manche gibt mir den folgenden Fehler. Irgendeine Idee, wie lösen Sie diese ? Dank
An error occurred while receiving the HTTP response to http://localhost:8733/PortOperation/Operator_Service/ws. This could be due to the service endpoint binding not using the HTTP protocol. This could also be due to an HTTP request context being aborted by the server (possibly due to the service shutting down). See server logs for more details.
Server stack trace:
at System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException, HttpWebRequest request, HttpAbortReason abortReason)
at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ClientReliableChannelBinder`1.RequestClientReliableChannelBinder`1.OnRequest(TRequestChannel channel, Message message, TimeSpan timeout, MaskingMode maskingMode)
at System.ServiceModel.Channels.ClientReliableChannelBinder`1.Request(Message message, TimeSpan timeout, MaskingMode maskingMode)
at System.ServiceModel.Channels.ClientReliableChannelBinder`1.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Security.SecuritySessionClientSettings`1.SecurityRequestSessionChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at IOperator_Service.GetAllUser(String ConnectionString)
at Operator_ServiceClient.GetAllUser(String ConnectionString)
Inner Exception:
The underlying connection was closed: An unexpected error occurred on a receive.
at System.Net.HttpWebRequest.GetResponse()
at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
Inner Exception:
Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.PooledStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.Connection.SyncRead(HttpWebRequest request, Boolean userRetrievedStream, Boolean probeRead)
Inner Exception:
An existing connection was forcibly closed by the remote host
at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
wie sieht es in Ihrer in Ihre wcf-opreation Kontakt ich speziell denke, die in dieser Methode Service.GetAllUser(String ConnectionString) exeption geworfen wird
Ja, wenn die Methode aufgerufen wird, geht es zu meiner Daten-Ebene die Daten, ich weiß nicht, warum der Fehler, da zwei meiner Dienstleistungen sind
Haben Sie versuchen, nur diesen test ohne die beiden anderen? Es sieht aus wie Sie könnte, die Eröffnung zu viele verbindet in Ihren tests, ohne diese zu schließen, sehen die InnerException-in Ihren original-Beitrag. Ich würde versuchen Sie dies und wenn es funktioniert, es ist nicht der code per se, aber wahrscheinlich die Batterie von tests gleichzeitig ausführen und nicht das schließen von verbindungen.
Ja, wenn die Methode aufgerufen wird, geht es zu meiner Daten-Ebene die Daten, ich weiß nicht, warum der Fehler, da zwei meiner Dienstleistungen sind
Haben Sie versuchen, nur diesen test ohne die beiden anderen? Es sieht aus wie Sie könnte, die Eröffnung zu viele verbindet in Ihren tests, ohne diese zu schließen, sehen die InnerException-in Ihren original-Beitrag. Ich würde versuchen Sie dies und wenn es funktioniert, es ist nicht der code per se, aber wahrscheinlich die Batterie von tests gleichzeitig ausführen und nicht das schließen von verbindungen.
InformationsquelleAutor Oghale Blessing Etomu | 2013-03-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es gibt viele Szenarien, wenn diese Art von Fehler Auftritt.
Ersten
Überprüfen, haben Sie die richtige [DataContract] und [DataMember]? wenn dies nicht vorgesehen ist, dann ist diese Art von Fehler Auftritt. Schreiben Sie die [DataContract] über die Klasse, in die man gehen Antwort schreiben [DataMember] über den member der Klasse, die geht in die client-Antwort.
zB.
Zweiten
Check-in der Antwort, wenn einige minvalue-der Datentyp übergeben wird. Das bedeutet, dass einige Zeit Datenelement ist nicht initialisiert zu dieser Zeit, die von der minvalue.
z.B. int minValue '-2147483648', so dass einige Zeit Sie kann nicht serialisiert werden, und wirft einen Fehler.
Wenn Sie verfolgen möchten, diese Art von Fehler, dann fügen Sie den folgenden code in der server-side web.config
Ich denke, es wird dir helfen.
InformationsquelleAutor Girish
War ich in der Lage das problem zu lösen.
Wenn Sie mit EF "code first"-Ansatz, und Sie möchten den Zugriff auf Ihre Daten mithilfe von WCF sollten Sie überlegen, nicht aktivieren lazy loading verwenden Sie die "virtual" - Schlüsselwort in Ihrem poco-Klasse, weil WCF die Serialisierung nicht serialisieren dynamische proxy-Daten.
AutoMapper
konvertieren Sie Ihre domain-Klassen in Datenvertrag Klassen aber.InformationsquelleAutor Oghale Blessing Etomu