• 26. Juni 2011
  • WCF

Die Zukunft von WCF RIA Services ist jQuery

Zugegeben, diese Überschrift wirkt ein wenig provokant und wie Salz in der Wunde von Silverlight-Fans, die nun - nachdem Microsoft verkündet hat, dass die von Phone 7 bekannten Tiles in Windows 8 auf HTML 5 und JavaScript basieren werden - wieder ein wenig mehr schmerzt. Trotzdem kann man nicht leugnen, dass HTML 5 und JavaScript in einer Zeit, in denen Web-Angebote immer mehr von verschiedenstenden Endgeräten jenseits des klassischen Windows-PCs genutzt werden, eine wichtige Rolle spielen. Somit verwundert es auch nicht, dass sich in der aktuellen Preview der kommenden Version von WCF RIA Services [1] alles um diese Technologien dreht.
 
Das nachfolgende Beispiel gibt einen kurzen Vorgeschmack darauf, indem es zeigt, wie mit dieser Preview, die kurz RIA/JS genannt wird, mittels jQuery ein Domain-Service konsumiert werden kann. Die dazu nötigen jQuery-Plugins findet man im Beispiel unter [1], welches auf der letzten MIX präsentiert wurde. Hierbei ist zu beachten, dass auch das jQuery-Template-Plugin, das Microsoft der Community zur Verfügung gestellt hat, darin verwendet wird.
<html>
    [...]
    
    <script src="..." ...></script>
    <!-- Plugins: siehe Samples unter [1] -->

    <script language="javascript">


    var hamster = [];
    var ds;
    var list;

    $(function () {


        ds = $([hamster]).dataSource({
            serviceUrl: "HamsterSample-HamsterDomainService.svc",
            queryName: "GetHamster",
            bufferChanges: true,
            /* Änderungen können retourgesendet werden */

            refresh: function () {
                /* Refresh wird nach dem Laden der Daten aufgerufen */

                /* Template auf jeden geladenen Hamster anwenden */
                list = new ListControl(hamster, {
                    template: "#hamsterTemplate",
                    container: "#hamster"
                });
            },

            queryParameters: { farbe: "gold" }
            /* Mappt auf Parameter der Operation GetHamster */
        });


        // IQueryable um Sortierausdruck erweitern
        var sort = { property: "Spitzname", direction: "ascending" };
        ds.option("sort", sort);

        // IQueryable um Filterausdruck erweitern
        var filter = {
            property: "Spitzname",
            operator: "StartsWith",
            value: "Krümel"
        };

        ds.option("filter", filter);

        // Daten abrufen, ins Array hamster laden und render aufrufen
        ds.refresh();

    });

 

</script>

<script id="hamsterTemplate" type="text/x-jquery-tmpl">
  <li>
    ${Spitzname}, Farbe: ${Farbe}
  </li>    
</script>
</head>

<body>
    <h1>Hamster on demand</h1>

    <ul id="hamster">
    </ul>

</body>
</html>
 
[1] http://wcf.codeplex.com/wikipage?title=WCF jQuery 
 

 

Schulung und Beratung

Angular 2

Datenbindung, Formulare, Validierung, Routing, HTTP, Komponenten, ...

Details

Migration auf Angular 2

Bestehende Projekte auf Angular 2 migrieren, ngUpgrade, ...

Details

Progressive Web-Apps mit Angular 2

InHouse-Schulung und/oder Beratung maßgeschneidert für Ihre Lernziele

Details

Architektur-Workshop

Interaktiver Prototyp-Workshop für Ihre Anwendung

Details

Entity Framework (EF)

Datenzugriff mit Entity Framework, Mapping-Szenarien, CRUD, Transaktionen, Migrations, Stored Procedures, Vererbung, Neuerungen in Version 7

Details

Angular 2: Deep Dive

Erweiterte Aspekte von Angular 2

Details

ASP.NET WebAPI

Web APIs mit ASP.NET, HTTP, REST, Security, Formatter, Tracing, OData, Streaming

Details

Web APIs mit ASP.NET MVC 6

Web APIs mit ASP.NET, HTTP, REST, Security, Formatter, Tracing, OData, Streaming

Details

Moderne Security-Szenarien für Web APIs

OAuth 2, OpenId Connect, JWT, Spielarten und Flows, ...

Details

Weitere Schulungen ...