Ich konnte nur ein paar Leute online finden, die das erwähnten und es scheint so einfach für sie zu sein, die Service-Referenz hinzuzufügen.
Wenn ich jedoch versuche, einen Dienstverweis für meinen WCF-Dienst hinzuzufügen (der in einer normalen Konsolenanwendung ordnungsgemäß funktioniert, so habe ich den WCF als Problem ausgeschlossen), erhalte ich eine Reihe von Fehlern.
Ich finde es merkwürdig, dass der erste Fehler Silverlight 3 erwähnt, da ich gerade alle meine Entwicklungstools vollständig deinstalliert und neu installiert habe, um sicherzustellen, dass ich die neueste Version von .NET und Silverlight verwendete.
Diese Fehler ähneln denen, die ich sehe, wenn ich versuche, ein neues Silverlight-Projekt zu erstellen und das Kontrollkästchen "WCF RIA-Dienste aktivieren" nicht zu aktivieren. Ich habe keine Möglichkeit gefunden, dies für WP7 zu ermöglichen, wenn das tatsächlich das Problem ist.
Jede Unterstützung von Ihnen, gelehrte Gentlemen (und Gentlewomen) würde sehr geschätzt werden.
Ja, das ist ein merkwürdiger Fehler. Sie können Strings, Integer usw. zurückgeben, aber alles andere wie ArrayList und so weiter, erhalten Sie diesen Fehler.
Es ist nichts falsch mit Ihrem Code, es gibt nur einen Fehler mit VS. Microsoft hat es behoben (Service Packs überprüfen), aber wenn Sie für Windows Phone 7 programmieren, ist der Fehler immer noch da.
Sie haben den Service, den Bin und den Obj-Ordner gelöscht. Speichern und schließen Sie VS. Starten Sie dann das Projekt neu, fügen Sie die Service-Referenz hinzu (NICHT DEBUG / RUN der App). Oh ja, mach zuerst eine Sicherung. Es sollte ok sein. Sie müssen diesen Vorgang möglicherweise jedes Mal wiederholen, wenn Sie den Dienst aktualisieren.
Dies sollte es beheben, wenn nicht, müssen Sie möglicherweise ein neues Projekt öffnen oder wenn möglich den Webservice neu erstellen.
Denken Sie daran, dass Silverlight - selbst für Windows Phone, das eine spezielle Version von Silverlight 3 verwendet - NICHT mit allen WCF-Dienstbindungen / Endpunkten funktioniert, sondern nur eine Teilmenge unterstützt (die beispielsweise WS-HTTP-Bindungen ausschließt). Am einfachsten ist es, Ihren WCF-Dienst für Silverlight-Anwendungen mit der Vorlage "Silverlight-aktivierter WCF-Dienst" in Visual Studio (unter Hinzufügen / Neues Element / Silverlight) zu erstellen.
Dieser Blogeintrag ( Ссылка ) aus dem Silverlight WCF Team Blog sollte etwas Licht auf die Möglichkeiten werfen. Vielleicht möchten Sie sich den gesamten Blog ( Ссылка ) ansehen, da er einige interessante How-To- und Gotcha-Artikel enthält.
Ich habe den genau gleichen Fehler gefunden und den Sammlertyp in System.Collections.Generic.List anstelle von System.Collections.ObjectModel.ObservableCollections geändert. Das war merkwürdig, da ich nicht einmal das Kästchen für "Immer Nachrichtenverträge generieren" aktiviert habe.
Ich hoffe, das hilft.
Mmmm, ich habe gerade die Service-Referenz-Konfiguration geändert, indem ich die "reuse type ...." - Box deaktiviert und dann aktualisiert habe und die Service-Konfigurationsdatei generiert habe. Nicht sicher, ob dir das weiterhilft?
Dieses Problem trat auf, wenn Sie Visual Studio mit Administratorberechtigung ausführen. Was Sie für eine Problemumgehung tun können, führen Sie Visual Studio ohne Administratorberechtigung aus, fügen Sie die Webdienst-Referenz hinzu, die die Proxyklassen generiert, und schließen Sie die Lösung. Öffnen Sie die Projektmappe erneut in Visual Studio mit Administratorrechten. Ein Fehlerbericht befindet sich bereits in Microsoft Connect.
Die Antwort lautet ja, Sie können von WP7 aus auf WCF-Dienste zugreifen, und wie bei einem früheren Poster wurde darauf hingewiesen, dass nur WS-HTTP unterstützt wird. Wenn Sie versuchen, auf einen WCF-Dienst für eine Silverlight-Anwendung zuzugreifen, müssen Sie einige Dinge tun:
Gehen Sie zur Web.Config und fügen Sie den Soap-Endpunkt hinzu:
%Vor%Machen Sie sich keine Sorgen wegen der Warnung "system.serviceModel"; ignoriere es
Fügen Sie die Service-Referenz hinzu. "Aber welche URI?" du fragst. Die Adresse Ihres Dienstes lautet wie folgt: [namespace of your ria service]-[classname of your ria service].svc
wobei .
durch -
ersetzt werden. Also, wenn ich meinen Service innerhalb eines Services-Verzeichnisses in meiner SL-Anwendung erstellt habe und der Namespace wie folgt aussieht:
dann wäre die Adresse:
%Vor%Lassen Sie die Werkzeuge den Rest erledigen. Wenn Sie einige funky Fehler erhalten, dann speichern Sie und schließen Sie VS und starten Sie erneut und alles funktioniert.
Ich hoffe, dass dies die Antwort ist, nach der Sie suchen.
Folgendes hat mein Problem gelöst:
Ich habe ein neues WP7-Projekt erstellt, das den Dienst wcf hinzugefügt hat.
Dann habe ich den Ordner "Service-Referenzen" in das Verzeichnis meines Projekts kopiert, in dem ich dieses Problem hatte, und Visual Studio neu gestartet und die Anwendung erstellt.
Sie sollten Namespace-Fehler in Ihrem Reference.cs
; Ändern Sie einfach den Namespace in den aktuellen Projektnamespace.
Tags und Links wcf .net c# silverlight windows-phone-7