2012-03-26 10 views
1

Ich arbeite mich durch die MVC 4 Beta zusammen mit den SPA-Optionen. Ich habe die Idee, Service-Endpunkte zum Projekt hinzuzufügen und dann Upshot zu verwenden, um eine Verbindung zu ihnen herzustellen. Die Anwendung, die ich erstellen möchte, kommuniziert jedoch mit einem externen Webdienst. Mit anderen Worten, ich kann Upshot nicht auf einen lokalen Controller zeigen, um Metadateninformationen zu erhalten, weil sie es nicht haben. Stattdessen würde ich es auf einen REST-Dienstendpunkt verweisen.Upshot.js Remote-Datenquelle Beispiel

Hat jemand ein Beispiel oder Referenzinformationen zum Anschließen der Upshot Remote-Datenquelle an eine echte Remote-Datenquelle? Ich suche nach einem vollständigen Beispiel im Gegensatz zu einer der zuvor gestellten Fragen. Ich kann meinen Kopf noch nicht umschließen.

Dank

Antwort

0

Ich habe nicht zu viel von upshot.js berührt, aber mein Verständnis ist, dass die meisten Funktionen für OData-Anbieter ist. Es gibt einen HTML-Helfer, den Sie in SPA sehen, der Metadaten bereitstellt.

Wenn Sie eine REST (nicht OData) Schnittstelle haben, bin ich mir nicht sicher, ob upshot Ihnen helfen kann.

+0

Das klingt nicht richtig. Tatsächlich hat die BigShelf-Beispielanwendung einen speziellen Fall nur für OData-Feeds neben der normalen Implementierung. Also ich denke nicht, dass das richtig ist. –

1

Ich habe viel mit Upshot und seinem RemoteDataSource-Objekt gespielt, und ich kann Ihnen versichern, dass es eine Hilfsbibliothek zusätzlich zu OData-Diensten ist. Wenn Sie meinen Beitrag zum Filtern und Sortieren von Daten lesen, können Sie sehen, dass die OData-Konventionen nur durchlässig sind.

http://bartjolling.blogspot.com/2012/04/building-single-page-apps-with-aspnet.html

einfach das erste Drittel der Post überspringen, bis Sie zum interessanten Teil über die GET-Anforderung erhalten, die von Upshot erzeugt wird. Wenn Sie den upshot.js-Code durchsuchen, sehen Sie, dass die Funktion "get" eine Ajax-Anforderung GET verwendet und dass die Funktion "Senden" eine AJAX-Anforderung POST verwendet. Eine Eigenschaft 'operation' gibt an, ob es sich um eine Operation zum Einfügen, Aktualisieren oder Löschen handelt.

Wenn Sie REST wollen, dann Upshot ist nicht für Sie. Weitere Informationen finden Sie in den folgenden ASP.NET-Foren: http://forums.asp.net/t/1776372.aspx/1?SPA+and+REST

+0

Ich kann sehen, warum du das sagst. Offensichtlich erlaubt es die OData-Eingabe, aber Sie müssen keine OData-Parameter hinzufügen und dann wird es ein einfacher REST-Aufruf. Verdammt, Sie können in UpShot sogar POST, PUT und DELETE hinzufügen, Steven Sanderson zeigte dies in seiner Delivery Tracker-Beispiel-App. Mein einziger Punkt ist, dass es alle diese Anrufe machen kann, aber es scheint nicht zu tun, ohne das Modell anzugeben, was meine ursprüngliche Frage war. Ich möchte im Wesentlichen die Delivery Tracker-App mit einer Remote-Web-API erstellen, irgendwelche Ideen, wie dies zu erreichen ist? –

+0

Ich habe den letzten Monat damit verbracht, Steven's DeliveryTracker-Anwendung auf meinem Blog zu analysieren, neu zu erstellen und zu verbessern. Ich weiß ehrlich gesagt nicht, wo Sie die REST-Unterstützung in upshot.js gesehen haben, weil sie meiner Erfahrung nach nicht da ist. Ich habe meine Antwort oben mit den Ergebnissen einiger weiterer Untersuchungen aktualisiert, die ich im Quellcode von upshot.js gemacht habe ... Ich nehme an, dass Sie die Datei upshot.js immer selbst bearbeiten und hinzufügen können. Es sollte nicht sein hart, aber Sie werden den Vorteil von upshots Batched 'changeset' Feature verlieren –

+0

Ich habe gerade die richtige Antwort auf die Frage in Ihrem Kommentar. WebApi unterstützt zwar REST, aber Sie können upshot.js nicht für die Kommunikation mit einem RESTful-Service verwenden. Sie müssen eine andere Javascript-Bibliothek finden, die weiß, wie man mit einem RESTful-Dienst kommuniziert –