Azure to potężna platforma umożliwiająca przetwarzanie w chmurze. Po zainstalowaniu SDK szybko okaże się jednak , że brakuje tam szablonów wspomagających tworzenie aplikacji opartych o RIA Services. W poście przedstawię więc krok po kroku jak można stworzyć projekt RIA Services współpracujący z Azure.
Zaczynamy od stworzenia podstawowego projektu “Windows Cloud Service”.
Jako WebRole wybieramy ASP .NET.
Po utworzeniu, okno “Solution Explorer” powinno wyglądać mniej więcej tak:

Następnie dodajemy projekt aplikacji Silverlight.
Przy tworzeniu należy pamiętać aby zaznaczyć opcje hostowania Silverlight na wcześniej utworzonym Web Role. Ponadto należy również zaznaczyć opcję “Enable .NET RIA Services”.
W tej chwili mamy już wszystkie projekty utworzone. Następnym zadaniem jest dodanie referencji do niezbędnych bibliotek DLL oraz modyfikacja plików konfiguracyjnych.
W projekcie WebRole dodajemy referencje do 3 bibliotek: System.ComponentModel.DataAnnotations, System.Web.DomainServices oraz System.Web.Ria.
Następnie w pliku Web.config dopisujemy następujący HTTP handler:
<add name="DataService" verb="GET,POST" path="DataService.axd" type="System.Web.Ria.DataServiceFactory, System.Web.Ria, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Kolejnym krokiem jest modyfikacja projektu Azure. Otwieramy plik ServiceDefinition.csdef a następnie ustawiamy atrybut enableNativeCodeExecution na true dla elementu WebRole:
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="CloudService1" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
<WebRole name="WebRole1" enableNativeCodeExecution="true">
<InputEndpoints>
<InputEndpoint name="HttpIn" protocol="http" port="80" />
</InputEndpoints>
<ConfigurationSettings>
<Setting name="DiagnosticsConnectionString" />
</ConfigurationSettings>
</WebRole>
</ServiceDefinition>
W tej chwili mamy już gotowy projekt RIA Service wykorzystujący platformę Azure. Możemy teraz stworzyć sobie ADO .NET Entity Data Model a następnie Domain Service w celu przetestowania stworzonego projektu. Krótki przegląd możliwości RIA Services znajdziecie tutaj.