Sigurd Snørteland


apps portal – a silverlight based app store

apps portal is a silverlight 5 (out-of-browser) application that allows users to browse and 1-click install other silverlight apps from an internal marketplace.

apps portal, and all apps inside the marketplace, are hosted on Windows Azure.

Inside apps portal users are also able to submit their own silverlight apps  to the marketplace.

All apps inside the marketplace are free of charge.

Demo: http://appsportal.cloudapp.net

More information and source code will be published soon!!

f


MSDN Live 2011

This blog post contains links to the WP7  example apps (busted & myChannel9), as well as links to more information relevant to the session I gave during this round of MSDN Live in Norway. Over the last two weeks the MSDN Live 2011 road-show have visited Stavanger, Bergen, Trondheim and Oslo

Download the slides:

busted

Download the source code:
  

myChannel9

Download the source code:

Useful links:
http://silverlight.net/getstarted/devices/windows-phone
https://windowsphone.create.msdn.com/app/list
http://wp7applist.com
http://www.meetup.com/Windows-Phone-Developer-Community/messages/boards/thread/10459901
http://www.admob.com
https://pubcenter.microsoft.com


viu² hostet i Windows Azure

Jeg har lenge hatt planer om å konvertere silverlight mediaplayeren min, viu², over til Windows Azure, men mangel på ledig tid har stoppet meg inntill nå. Fra før har jeg hostet denne løsning hos GoDaddy.com, hvor jeg også har hatt tilgang til en MS Sql Server for lagring av data. Jeg har benyttet en webservice som  kommunikasjonspunkt mellom silverlight-klienten og databasen. Når jeg nå konverterte løsningen over til Windows Azure har jeg valgt å gå over til å benytte RIA Services som kommunikasjonspunkt og Azure Storage for lagring av data.

Det endelige resultatet kan du se her:  http://viu2.cloudapp.net

PS: Etter at Windows Azure ble en betalingstjeneste er desverre ikke denne løsningen lenger tilgjengelig online.

viu2azure_13

Arbeidet med å opprette selve Azure-solutionen i Visual Studio og å klargjøre denne for RIA Services har jeg beskrevet i en tidligere blogpost, og derfor kommer jeg ikke til å gå innpå dette nå. I stede skal jeg vise hvordan jeg har gått frem for å ta i bruk Azure Storage for lagring av data i viu²-løsningen.

  • Første steg, etter at man har en Azure-solution som er klargjort for RIA Services, er å legge til referanse til følgende to dll’er i RIA/ASP.NET Web Role-prosjektet:
    StorageClient.dll (denne filen kan lastes ned fra følgende link)
    System.Data.Services.Client
  • Neste steg blir å opprette en del klasse i RIA-prosjektet knyttet til de dataene man skal lagre i Azure Storage:

viu2azure_2

  • Den første klassen vi skal opprette er ‘TelevisionVO’ som definerer hvilke data vi ønsker å lagre i Azure Storage. Denne klassen skal benyttes for å lagre tv-streaming kanaler. Viktige momenter i denne klassen er at den arver fra ‘TableStorageEntity’, som innebærer at man må implementere parametrene ‘PartitionKey’ og ‘RowKey’. I tillegg krever RIA Services at ett eller flere parametre er merket med [Key].

viu2azure_5

  • TelevisionDB er den klassen hvor vi lagger til metoder for å hente ut legge til og hente ut data fra Azure tabellene våre. I dette tilfellet har jeg opprettet en metode for å hente en liste med objekt av typen TelevisionVO, samt en metode som tar imot et TelevisionVO-objekt og lagrer det i Azure tabellen.

viu2azure_4

  • AzureDataServiceContext-klassen knytter hele løsningen opp mot Azure Table Storage og forteller Azure at denne løsningen benytter 2 tabeller,  representert med 2 domene klasse typer (RadioVO & TelevisionVO). Denne klassen arver fra ‘TableStorageDataServiceContext’-klasse, noe som innebærer at klassen automatisk er knyttet opp mot Azure-kontoinformasjoen som vi senere sak sette i config-filene i Azure-prosjektet.

viu2azure_3

  • RiaDomainServices-klassen er en del av RIA Services og er Silverlight is kommunikasjonspunkt. Dette innebærer at vi må lage metoder her som Silverlight kan kommunisere med f.eks. når data skal hentes fra Azure Table Storage. På bildet nedenfor ser du hvordan denne klassen benytter metoder i ‘TelevisionDB’ for å fylle en liste med TelevisionVO-objekter for å returnere til Silverlight.

viu2azure_6

  • Neste steg er å logge seg opp mot Windows Azure portalen og opprette et nytt prosjekt av typen ‘Storage Account’.

viu2azure_8

  • Definer et navn og eventuelt en beskrivelse av løsningen.

viu2azure_9

  • Definer en unik url til prosjektet (SilverFeed er allerede tatt av meg). De andre parametrene kan stå uendret.

viu2azure_10

  • Nå er en ‘Azure Storage Account’ opprettet og man har fått en ‘Primary Access Key’ som skal kopiers og benyttes inne i Visual Studio Azure-prosjektet.

viu2azure_11

  • Gå tilbake til Visual Studio og Azure-prosjektet og ta opp filen ‘ServiceConfiguration.cscfg’

viu2azure_14

  • Endre taggen ‘<ConfigurationSettings>’ lik den du ser på bildet nedenfor og men bytt ut verdiene i ‘AccountName’ og ‘AccountSharedKey’ taggene til de verdiene du fikk når du opprette din ‘Azure Storage Account’ i Azure portalen.

viu2azure_12

  • Gå nå til den andre filen i Azure-prosjektet, ‘ServiceDefinition.csdef’, og endre ‘<ConfigurationSettings>’ taggen lik den du ser på bildet nedenfor:

viu2azure_7

Nå er prosjektet klargjort for hosting i Windows Azure og lagring i Azure Table Storage er opprettet. Siste steg er å velge ‘Publish’ på Azure-prosjektet i Visual Studio,   for deretter å opprette et ‘Hosted Services’ i Azure portalen og laste opp de Visual Studio genererte filene til Windows Azure (lest mer om dette i denne blogpost’en).

Her er en link til min viu² hostet i Windows Azure: http://viu2.cloudapp.net

PS: Etter at Windows Azure ble en betalingstjeneste er desverre ikke denne løsningen lenger tilgjengelig online.