Dies könnte daran liegen, dass die Service-Endpunktbindung das HTTP-Protokoll nicht verwendet
Habe ich einen WCF-Dienst läuft auf meinem lokalen Rechner. Ich legte es auf den Server, und ich erhalte die folgende Fehlermeldung:
Fehler beim empfangen der
HTTP-Antwort an
http://xx.xx.x.xx:8200/Services/WCFClient.svc.
Dies könnte aufgrund der Dienst
endpoint-Bindung nicht mit der HTTP
Protokoll. Dies könnte auch durch eine
HTTP-request-Kontext wird abgebrochen
der server (evtl. durch die
service Herunterfahren). Siehe server
Protokolle für weitere details.]
Habe ich gegangen, um den service in der url und es funktioniert einwandfrei. Alles was ich Tue für die Funktion ist die Rückgabe ein string zu einem Bild-Namen, so dass die Daten weitergegeben werden, ist nicht viel. Ich habe verfolgt Sie das Protokoll, und es gibt mir die gleichen Informationen. Hier ist meine client config:
<binding name="basicHttpBinding_IWCFClient" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
allowCookies="false">
<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>
<endpoint name="basicHttpBinding_IWCFClient"
address="http://localhost:4295/Services/WCFClient.svc"
binding="basicHttpBinding"
bindingConfiguration="basicHttpBinding_IWCFClient"
behaviorConfiguration="WCFGraphicManagementTool.Services.ClientBehavior"
contract="WCFClient.IWCFClient" />
Hier ist meine server config:
<service behaviorConfiguration="WCFGraphicManagementTool.Services.WCFClientBehavior"
name="WCFGraphicManagementTool.Services.WCFClient">
<endpoint name="basicHttpBinding_IWCFClient"
address=""
binding="basicHttpBinding"
contract="WCFGraphicManagementTool.Contracts.IWCFClient" />
<endpoint
address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
<behavior name="WCFGraphicManagementTool.Services.WCFClientBehavior">
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
<serviceThrottling maxConcurrentCalls="120" maxConcurrentSessions="120"
maxConcurrentInstances="120" />
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
Wäre es eine Einstellung auf dem server, da funktioniert es auf meinem lokalen Rechner?
InformationsquelleAutor der Frage Matt Schubert | 2011-05-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, es ist die Serialisierung problem, Sie können den genauen Fehler müssen nur fügen Sie untenstehenden code in service-config in
<configuration>
Abschnitt.After-config-update
"App_tracelog.svclog"
- Datei erstellen, wo Ihr Dienst vorhanden sind, nur öffnen müssen, um.svclog
- Datei und suchen Sie die rote color line auf der linken Seite panel die Fehler und sehen Sie die Beschreibung für mehr info.ich hoffe, dies wird helfen, zu finden dein Fehler.
InformationsquelleAutor der Antwort Rikin Patel
Hatte ich dieses problem "werden könnte Dies durch die service-Endpunkt-Bindung nicht über das HTTP-Protokoll" und der WCF-Dienst heruntergefahren wird (in einer entwicklermaschine)
Ich herausgefunden: in meinem Fall, das problem war, weil der Enumerationen,
Ich gelöst mit dieser
Ich hatte zu schmücken Enumerationen mit DataContract, Fahnen und alle jede der enum-Mitglied mit EnumMember Attribute.
Ich dies Problem gelöst, nach einem Blick auf diese msdn-Referenz:
InformationsquelleAutor der Antwort Rajesh
Ich hatte die gleiche Fehlermeldung und das problem war Serialisierung. Ich es geschafft, das eigentliche problem der Verwendung von Service Trace Viewer http://msdn.microsoft.com/en-us/library/ms732023.aspx und löste es einfach.
Vielleicht hilft es jemanden.
InformationsquelleAutor der Antwort 100r
In meinem Beispiel, wird der Fehler generiert wurde, weil einer meiner komplexe Typen hatten eine Eigenschaft mit keine set-Methode.
Den serializer und warf Ausnahme, weil dieser Tatsache. Hinzugefügte set-Methoden und alles funktionierte gut.
Beste Weg, um herauszufinden, warum dies geschieht (meiner Meinung nach) ist, um die Ablaufverfolgung aktivieren.
Ich erreichte dies, indem Sie den folgenden Abschnitt auf meiner Website.config:
Einmal eingerichtet, lief ich meinem Mandanten, bekam Ausnahme und überprüft die 'Spuren.svclog " - Datei. Von dort mußte ich nur die Ausnahme.
InformationsquelleAutor der Antwort Stuart
Lösung mit DataContract, Fahnen für Enumerationen, die sieht ein bisschen hässlich. In meinem Fall problem gelöst, durch hinzufügen von etwas wie "NotSet = 0" in enum:
InformationsquelleAutor der Antwort b1n0m
Ich herausgefunden, das problem. Es endete als ein Pfad zu meiner config-Datei war falsch. Die Fehler in WCF sind so hilfreich manchmal.
InformationsquelleAutor der Antwort Matt Schubert
Habe ich diesen Fehler gesehen, verursacht durch eine zirkuläre Referenz in das Objekt graph. Darunter ein Zeiger auf das übergeordnete Objekt von einem Kind werden führen den serializer eine Schleife, und letztlich die maximale Nachrichtengröße übersteigen.
InformationsquelleAutor der Antwort Mark Challen
Hatte ich dieses problem nicht, da ich konfiguriert meinem WCF-Service für die Rückkehr eines Systems.Daten.DataTable.
Es funktionierte in meinem test-HTML-Seite, aber die Luft sprengten, wenn ich diese in meinem Windows-Form-Anwendung.
Hatte ich zu gehen und in den Dienst ändern, um die Operativen Vertragsunterzeichnung von DataTable, DataSet und wieder die Daten entsprechend.
Wenn Sie dieses problem haben, möchten Sie vielleicht, um eine zusätzliche Operative Vertrag zu Ihrem Service, so dass Sie nicht haben, um sorgen über brechen code, der sich auf bestehende Services.
InformationsquelleAutor der Antwort jp2code
Könnte dies wegen der vielen Gründe, unten sind einige von denen:
Wenn Sie Ihre Daten-Vertrag Objekte Vererbung verwenden, stellen Sie sicher, dass alle Basis-Klassen hat der DataContract und DataMember-Attribute. Auch, müssen Sie die Basis-Klassen angeben, die abgeleiteten Klassen mit den
[KnownType(typeof(BaseClassType))] - Attribut ( überprüfen Sie heraus mehr info hier auf dieser).
Stellen Sie sicher, dass alle Ihre Daten Vertragsgegenstand Eigenschaften haben die beiden get-und set-Eigenschaften.
InformationsquelleAutor der Antwort Sujeewa
Mein problem war das zu viele Elemente wurden übergeben wird, die zwischen client und server. Ich hatte diese Einstellungen ändern das Verhalten auf beiden Seiten.
InformationsquelleAutor der Antwort Rob Sedgwick
Für mehr Einblick in dieses Thema, siehe auch:
Eine bestehende Verbindung zwangsweise geschlossen durch remote-host - WCF
Mein problem war, dass mein Daten-transfer-Objekte waren zu Komplex. Start withsimple Eigenschaften wie
public long Id { get; set; }
und sobald Sie, dass die Arbeit als start hinzufügen zusätzliche Sachen, wie gebraucht.InformationsquelleAutor der Antwort Serj Sagan
Mein problem war, dass Rückgabetyp mein Dienst-string.
Aber ich zurückgelieferte xml:
also Fehler geworfen wurde.
InformationsquelleAutor der Antwort joettriscik
Dieser Fehler sein kann, weil der Vertrag überein. Betrachten Sie die drei mehrschichtige Anwendung unter...
UI-Schicht
|
Prozess-Ebene
|
Data Access Layer
-> Vertrag Zwischen Prozess-und UI-Schicht hat die gleiche enum mit den fehlenden (Onhold = 3). Enum: Start = 1, Stop = 2.
-> Vertrag Zwischen Daten-Und Prozess-Ebene hat enum Enum: Start = 1,Stop = 2,Onhold = 3.
In diesem Fall werden wir die gleichen Fehler in der Prozess-Ebene Antwort.
Den gleichen Fehler in anderer Vertrag mismatch in mehrschichtigen Anwendung.
InformationsquelleAutor der Antwort Abhijit Kumar
Mag dies nicht relevant sein, um Ihre spezifischen problem, sondern die Fehlermeldung, die Sie erwähnt hat viele Ursachen, eine davon ist mit einem return-Typ für [OperationContract], die entweder Abstrakt, interface, oder nicht bekannt ist, um den WCF-client-code.
Überprüfen Sie die post (und Lösung) unter
https://stackoverflow.com/a/5310951/74138
InformationsquelleAutor der Antwort modeeb
Ich denke, der beste Weg, dies zu lösen, Folgen Sie den Fehler Beratung, daher Suche für den server-logs.
Zum aktivieren der logs, die ich Hinzugefügt
Dann gehen Sie zu c:\logs\TracesServ_ce.svclog öffnen Sie es mit microsoft
service trace viewer. Und sehen, was das problem wirklich ist.
InformationsquelleAutor der Antwort Lomithrani
Ich kämpfte mit diesem für ein paar Tage und versucht, jede Antwort von diesem post und viele andere und meine Lösung, weil die Symptome waren die gleichen, aber das problem war anders.
Das problem war, dass die app-pool konfiguriert wurde, mit einem memory limit, und es kommen recycelte nach einem Variablen Zeitraum.
Hoffe, dies hilft jemand anderes!
Grüße,
InformationsquelleAutor der Antwort Gonza Oviedo
in meinem Fall
mein Dienst hat die Funktion, zu
download Files
und dieser Fehler wird nur angezeigt beim Versuch Sie zu laden
Big Files
also ich fand diese Antwort zu Erhöhen
maxRequestLength
benötigten Wert inweb.config
Ich weiß, dass ist komisch, aber problem gelöst
wenn Sie don ' T machen kein upload-oder download-Vorgänge vielleicht diese Antwort wird dir nicht helfen
InformationsquelleAutor der Antwort Basheer AL-MOMANI
Hatte auch dieses Problem und es wurde aufgrund von vergessen schmücken mein Modell mit DataContract und DataMember-Attribute
InformationsquelleAutor der Antwort Ian Rathbone
Für mich die Lösungen dieser Fehler sehr seltsam. Es war die Frage der port-Adresse des EndpointAddress. In Visual studio port-Adresse der Datei (z.B. "Service1".svc) und die port-Adresse des wcf-Projekt muss die gleiche sein, die Sie gibt in EndpointAddress. Lassen Sie mich beschreiben Sie diese Lösung im detail.
Gibt es zwei Schritte zum prüfen der port-Adressen.
In der WCF-Projekt rechts klicken, um Ihre Service-Datei (z.B. "Service1".svc) -> wählen Sie in browser Anzeigen jetzt im browser die url wie http://localhost:61122/Service1.svc so, jetzt notieren Sie sich die port-Adresse als 61122
Righ klicken Sie auf Ihre wcf-Projekt -> wählen Sie Eigenschaften -> gehen Sie zu der Registerkarte " Web " - > Jetzt in Servern Abschnitt -> wählen Sie mit dem Visual Studio Development Server -> wählen Sie Bestimmten Port und geben Sie die port-Adresse, die wir früher von unseren Service1.svc-Dienst. Das ist (61122).
Früher ich habe verschiedene port-Adresse. Nach der Angabe von port-Adresse richtig, die ich gegeben habe, in EndpointAddressmein problem war gelöst.
Ich hoffe, dass dies möglicherweise Ihr Problem gelöst.
InformationsquelleAutor der Antwort Dilip0165
Um dies zu beheben, mussten wir verändert der "AppPool" - Identität zu einem administrator-Konto.
InformationsquelleAutor der Antwort SarjanWebDev