2 Stimmen

Können Sie mir die Microsoft .NET RIA-Dienste erklären?

Ich habe darüber gelesen, und um ehrlich zu sein, kommt mir das alles wie ein Haufen Kauderwelsch vor.

Ich möchte nicht darüber lesen, wie es Ihre Erfahrung verbessert und wie Sie damit dieses und jenes bauen können.

Könnten Sie mir eine klare Definition der Funktion geben, das wäre großartig.

5voto

Saqib Punkte 6940

Wenn wir Windows-Anwendungen schreiben, findet alles auf einem Computer statt (es sei denn, Sie erhalten Daten aus dem Netzwerk. Sie klicken mit der Maus, Ihr Event-Handler wird aufgerufen, Sie können ändern, was angezeigt wird.

Mit dem Internet haben Sie dann eine zustandslose Umgebung, in der (von Javascript einmal abgesehen) der gesamte Code auf dem Server ausgeführt wird. Mit ASP.Net wird statisches HTML erzeugt und an den Client übertragen. Im Gegenzug kann der Benutzer eine Aktion ausführen, woraufhin der Server eine weitere Anfrage erhält, und so weiter.

Bei Silverlight findet alles auf dem Client statt - die Xap wird heruntergeladen, dekomprimiert und ausgeführt. Das Problem ist, dass nicht alles in der Silverlight-Anwendung gemacht werden kann - es ist nicht wie eine Windows-Anwendung, die Dateien von der Festplatte öffnen/speichern kann - es ist mehr wie eine Asp.Net-Anwendung. Das Problem ist, dass die Daten auf dem Server liegen und die Silverlight-App auf dem Client. Die Entwickler müssen also asynchronen Code schreiben (damit die Benutzeroberfläche nicht einfriert). Dies ist komplexer als die synchrone Ereignisbehandlung, an die Windows-Entwickler gewöhnt sind. Darüber hinaus müssen Sie jedes Mal, wenn Sie Daten abrufen müssen, z. B. zur Authentifizierung des Benutzers, eine Überprüfung auf dem Server durchführen. Silverlight sieht zwar aus wie "WPF im Browser", ist aber in Wirklichkeit eine ganz andere Art der Programmierung. Ein Webentwickler wird damit vertraut sein, aber der normale Geschäftsentwickler, der Silverlight verwenden möchte, wird dies als eine Menge Overhead empfinden.

Die .Net RIA-Dienste versuchen also, die Annehmlichkeiten der Windows-Entwicklung auf Silverlight zu übertragen. Dies geschieht durch die Bereitstellung eines Rahmens für Dinge wie die Fähigkeit, .net-Typen zwischen Clients und Servern auszutauschen, die in einer zustandsorientierten Art und Weise auf dem Client agieren und Daten zurück an den Server mit Rest-xml/json-Diensten übertragen können.

Ein Beispieldienst wird für die Benutzerauthentifizierung/-autorisierung/-einstellungen bereitgestellt.

Ich empfehle Ihnen einen Blick auf dieser Artikel von Nikhil Kothari und auch dies (PDF) Durchgang . Sehen Sie sich auch einige der bereitgestellte Proben und versuchen Sie, sie auszuführen/zu ändern.

3voto

Dan Rigby Punkte 15975

Von http://blogs.msdn.com/brada/archive/2009/03/19/what-is-net-ria-services.aspx :

Microsoft .NET RIA Services vereinfacht die die t Muster durch die Zusammenführung der ASP.NET- und Silverlight-Plattformen. Die RIA Services bietet ein Muster zum Anwendungslogik zu schreiben, die auf Mid-Tier läuft und den Zugriff auf Daten für Abfragen, Änderungen und benutzerdefinierte Operationen. Außerdem bietet es End-to-End-Unterstützung für allgemeine Aufgaben wie z.B. Datenvalidierung, Authentifizierung und Rollen durch Integration mit Silverlight Komponenten auf dem Client und ASP.NET auf der mittleren Ebene.

Ich würde das so zusammenfassen, dass ASP.Net und Silverlight in ihrer jetzigen Form unabhängig voneinander entwickelt wurden und nicht explizit füreinander konzipiert wurden, so dass ASP.Net-Anwendungen und Silverlight-Anwendungen miteinander arbeiten und interagieren müssen. Microsoft versucht, diese Aufgabe zu vereinfachen, indem eine Plattform und Muster zur Unterstützung dieser Art von gemischter Silverlight + ASP.Net Backend-Anwendungsentwicklung geschaffen werden.

1voto

Dave Swersky Punkte 34052

Die einfachste Antwort ist, dass die RIA-Dienste eine Reihe von Diensten und Entity-Framework-Klempnercode enthalten, den Sie nicht selbst schreiben müssen. Der Zweck ist, dass Ihr Silverlight-seitiger Code genauso einfach zu schreiben und zu verstehen ist, als wäre es eine einfache ASP.NET- oder Windows/WPF-Anwendung.

1voto

Scott Barnes Punkte 1958

Abgesehen von der offiziellen Antwort von uns, betrachten Sie RIA Services einfach als einen automatisierten Ansatz für die Kombination von Server und Client - in den meisten Mainstream-Fällen ist es Silverlight + ASP.NET.

Ein einfacher Weg, dies zu betrachten, sind die grundlegenden Probleme, die es zu lösen gilt: "Wie bekomme ich meine POCO/VO/TO usw. vom Server zum Client und wieder zurück, ohne meine eigene Serialisierungs-/Deserialisierungslogik schreiben zu müssen?" - Die Antwort darauf ist, dass .NET RIA Services dies für Sie über einige grundlegende Code-Generierung, die das Team eingerichtet hat, und die Nutzung der Leistungsfähigkeit von ADO.NET Data Services erledigt.

Ich persönlich sehe .NET RIA DataServices als den Klebstoff zwischen Client und Server, und als Teil davon erhalten Sie eine Menge komplizierter und leistungsfähiger APIs, mit denen Sie Daten usw. hin- und herschieben können.

Die Hauptaufgabe der RIA-Dienste besteht darin, dass Sie sich auf die Erstellung von Anwendungen usw. konzentrieren und weniger auf die Entwicklung Ihres eigenen Frameworks von Grund auf.

Ein kurzes ASCII-Rohdiagramm sieht so aus:

CLIENT(Silverlight) -> ADO.NET Data Services (Client) <-> CLOUD <-> ADO.NET Datendienste (Server) <- Server (ASP.NET)

Wir werden das WAS bald besser erklären, und wir freuen uns über Ihr Feedback.

-
Scott Barnes
Rich Platforms Product Manager
Microsoft.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X