2014-2015 Alla rättigheter till materialet reserverade Easec



Relevanta dokument
Plattform as a Service, leverantör tillhandahåller plattformen, jag tillhandahåller applikation och ansvarar för denna.

Övning: Arbeta med Azure Explorer

Övning 1: Skapa virtuell maskin för utveckling.

Diagnostisktprov Utveckla i Azure

Förutsättningar: Konto på Azure, kontot har fått File Storage tillagt, Azure Powershell version eller senare.

Alla rättigheter till materialet reserverade Easec

Alla rättigheter till materialet reserverade Easec

Alla rättigheter till materialet reserverade Easec

Installationsanvisningar

Lab 5: ASP.NET 2.0 Site Navigation

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

Innehåll. Dokumentet gäller från och med version

Alla rättigheter till materialet reserverade Easec

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Daniel Akenine, Teknikchef, Microsoft Sverige

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

ANVÄNDARMANUAL. handdatorer i ängs- och betesmarksinventeringen. för

Installera Docker på Windows Server 2016

Guide till RefWorks Skapa ett RefWorks-konto Under Citera och referera > RefWorks Hjälp funktioner i RefWorks Help Tutorial Help

Användarhandledning. Procapita Vård och Omsorg Konvertering av worddokument till PDF/A

Modul 10: Lagra information i Azure SQL Database

ANVÄNDARMANUAL. handdatorer i ängs- och betesmarksinventeringen. för

Webbtjänster med API er

Datorlaboration 0, Programmering i C++ (EDAF30)

Novell Filr 1.2 skrivbordsprogram för Mac snabbstart

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.3.1

Modul 6: Infrastruktur för webb

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

Docker i Windows 8.1 med Hyper-V

Introduktion. Markera den gröna bocken. Skriv in URL:en Klicka på knappen Platser.

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.6.0

Language Integrated Query, LINQ, och databaser

7 Mamut Client Manager

1. Revisionsinformation

Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie Justering för krav på Windows Server

LATHUND Att överföra information till Projektportal Investera

Installationsanvisning Boss delad databas

Alla rättigheter till materialet reserverade Easec

Årsskiftesrutiner i HogiaLön Plus SQL

Sharp Remote Device Manager Installationshandbok

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.7

Säkra pausade utskriftsjobb. Administratörshandbok

Fjärruppkoppling med MRD Industriell 3G-Router KI00282A

Komponenter med COM (och COM+/VC++ 7.0)

Swedbank Mobile Loadtesting. LoadRunner Mobile App protocol

Så här gör du för att lägga till nytt e-postkonto i Windows 8. Öppna E-post från startskärmen.

Inlämningsarbete Case. Innehåll Bakgrund bedömning inlämningsarbete... 2 Inlämnade arbeten... 4

ALEPH ver. 18 ALEPH Digital Asset Module (ADAM)

Introduktion till migrering till molnet. PART 4: Plattformar för molntjänster

FLEX Personalsystem. Uppdateringsanvisning

Räkna med ASP.NET MVC 3

Novell Vibe Add-In 1.0.1

Tillgång till alla globala delar i systemet styrs av denna profil, som i sin tur kopplas till respektive användare.

Användarguide för anslutning till Treserva och TES Användarguide för anslutning till Treserva och TES

Komma igång med E-Line RIO

Molntjänster. Översikt. Lektion 1: Introduktion till molntjänst. Introduktion till molntjänst. Vilka tjänster finns? Säkerhet.

Advoco NetPBX Outlook Add-in

Microsoft Visual Studio 2017

Installation av. Vitec Online

Säkerhet Användarhandbok

Installationsanvisning för kursens programvara på egen dator

Fiery Driver Configurator

FileMaker Server 15. Guide för att komma igång

Sätta upp e-post server Ubuntu 14.04, del 1 installation av programvara, konfiguration av mysql och Postfix

1284_omslag.qxd :13 Sida 1 ECDL START OFFICE 2003 Allmän IT Windows XP Word 2003 Outlook 2003

Beställnings- och installationsguide av Dubbelskydd

TDDD80. Mobila och sociala applikationer Introduktion HTTP,SaaS. Anders Fröberg Institutionen för Datavetenskap (IDA)

Räkna med ASP.NET Web Forms

Installation av StruSofts låne-licensserver (nätverkslicens)

Del 1: Skapa konto i Exchange

INSTALLATION AV VITEC MÄKLARSYSTEM. Studentversion

ANVÄNDARMANUAL ANSLUTA TILL REGION HALLAND VIA CITRIX

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack

Manual Sportident Onlinekontroll via GPRS

Lab 6: ASP.NET 2.0 Providermodellen

Tekis-FB Systemkrav

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved.

Webbtjänster med API er

Virtuell Server Tjänstebeskrivning

Snabbguide Visma Compact API Version 5.1 Copyright Visma Spcs AB Visma Compact API

WINDOWS 8.1. Grunder

Sokigo AB OVK 2.0. Pentium- eller AMD-processor (x64 processor) på 1,6 GHz Dual Core eller motsvarande.

Kompletterande instruktioner för installation och konfiguration av HMS-server för koppling mot KONTAKT

Grundläggande EndNote

Kom igång med Telia Touchpoint App. Din guide till installation och användning av de viktigaste funktionerna. TSP-3963_2-1505

Övning Dictionary. Övning 1. Steg 1: På din virtuella maskin, starta Visual Studio.

Manuell installation av SQL Server 2008 R2 Express SP2 fo r SSF Timing

Instruktion för användande av Citrix MetaFrame

INSTALLATIONSINSTRUKTIONER FÖR VIDA VIDA ON WEB

Lektion 2, Grundläggande funktioner i ASP.NET

Introduktion till Entity Framework och LINQ. Källa och läs mer

Steg 1 Starta Outlook 2013 och öppna konfigurationsguiden

Installations- och uppdateringsprogram för FileMaker Server 12.0v2 augusti 2012

DGC IT Manual Citrix Desktop - Fjärrskrivbord

Systemkrav. Systemkrav för Hogia Approval Manager. Gäller från och med programversion

Hämta appar. Hämta appar innehåller information om vilka P&G-appar du behöver och hur du ställer in dem rätt.

Lab 5: ASP.NET 4.5 Site Navigation

F2 Exchange EC Utbildning AB

Transkript:

1

2 Innehåll Introduktion... 4 Cloud Services... 5 Översikt Cloud Services... 6 Arkitektur för Cloud Services... 7 Arkitektur för Cloud Services (forts.)... 8 Cloud Service Roles... 10 Cloud Service Roles (forts.)... 11 Roller... 12 Översikt roller... 13 Web roles... 14 Slutpunkter... 16 Slutpunkter (forts.)... 17 Worker Roles... 18 Kommunikation med Worker Roles... 20 Kommunikation med Worker roles (forts.)... 21 Bearbeta information i Worker Role... 22 Bearbetning... 23 Översikt bearbetning... 24 Användning av ServiceRuntime... 25 Demonstration titta på implementering av Default RoleEntryPoint... 26 Implementera RoleEntryPoint Class... 27 Implementera RoleEntryPoint Class (forts.)... 28 Implementera RoleEntryPoint Class (forts.)... 29 Implementera RoleEntryPoint Class (forts.)... 30 Livscykel för Cloud Service Role... 31 Hantera och skräddarsy Cloud Services... 32 Översikt hantera och skräddarsy Cloud Services... 33 Skalning... 34 Skalning (forts.)... 35 Lokal lagring... 36 Diagnostik... 37 Cloud Service Package... 38 Cloud Services Package (forts.)... 39

3 Uppdatering... 40 Övning: skapa bakgrundsprocess... 41 Repetitionsfrågor... 50

4 Introduktion Cloud Services. Roller. Bearbetning. Skräddarsy och hantera Cloud Services.

5 Cloud Services

6 Översikt Cloud Services Avsnittet är uppdelat i följande rubriker: Arkitektur för Cloud Service Cloud Service Roles

7 Arkitektur för Cloud Services Tre komponenter Cloud Services i Azure, består av tre komponenter: - en eller flera virtuella maskiner som kör Windows Azure OS. - konfigurationsfil som beskriver funktionen. - applikation. Azure Virtual Machines tillhandahåller nödvändig infrastruktur för din eller dina applikationer, Azure Websites tillhandahålla IIS funktionalitet och tillhandahåller Cloud Service plattform som PaaS-tjänst. Teknologin primära fokus är att låta utvecklare fokusera på sin applikation och sedan låta Azure hantera infrastrukturen för att få pålitlig lastbalanserad funktion. Att skapas När tjänst startas, startas om eller skalas, kommer ny virtuell maskin att skapas och applikation rullas ut till dessa.

8 Arkitektur för Cloud Services (forts.) Virtuella maskiner är bas för Cloud Services. Tekniken tillhandahåller förkonfigurerade images av virtuella maskiner, dessa refereras till web roles och worker roles. Dessa roller i olika kombinationer, kan passa många olika typer av applikationer. För enkel webb applikation behövs en enda web role. Webbapplikation som behöver bearbetning i bakgrunden, behöver också worker role. Cloud service inkluderar följande funktioner: - modulär utvecklingsmiljö, som ger möjlighet till skalbarhet. - local software development kit (SDK) emulator som ger möjlighet till att testa sin applikation i Cloud Service, på lokal dator. - gemensam modell för diagnostik. - inställningar för molntjänsten sker genom att modifiera konfigurationsfiler eller via portal. - automatisk uppdatering och hantering av virtuell maskin.

9 - hantering av slutpunkt.

10 Cloud Service Roles Roller för cloud services används för att separera moduler för din applikation. Web Role Web Role används som värd för webb applikation, med publik slutpunkt för http/tcp. Rollen har stöd i IIS7 och ASP.NET. Stor fördel för rollen är att konfigurationen av IIS redan är gjord. Rollen kan användas som front för din webbapplikation och kan finnas på många värdar. Worker Role Worker Role används för att exekvera logiken i bakgrunden. Funktionen kan ha flera instanser.

11 Cloud Service Roles (forts.) Det finns många likheter mellan web role och worker role men bara ett fåtal skillnader. Bägge är baserade på samma operativsystem och kan ha slutpunkter och konsumerar externa resurser. Som standard har web role IIS Hosted Web Core installerad och påslagen. Web roles har typiskt standard slutpunkt konfigurera på port 80/443, som kan läggas till när du skapar ny web role i ett Microsoft Visual Studio Cloud Service projekt.

12 Roller

13 Översikt roller Avsnittet är uppdelat i följande rubriker: Web roles Slutpunkter Worker roles Kommunikation med Worker role Bearbeta information i Worker role

14 Web roles Förkonfigurerad Förkonfigurerade Windows Server: - IIS Hosted Web Core 1 förinstallerat. - brandvägg öppen på port 80. - standard slutpunkt för port 80. - möjlig att skräddarsy via script. Rollen används till webbapplikationer som har publik http slutpunkt. I Microsoft Visual Studio 2013, kan cloud service web role knytas till ett ASP.NET projekt. 1 https://msdn.microsoft.com/en-us/library/ms689327(v=vs.90).aspx

15 Genom att modifiera konfigurationen för ett existerande ASP.NET projekt, kan existerande projektet migreras till cloud service web role.

16 Slutpunkter I en cloud service, kan instanser för rollen kommunicera genom intern eller extern anslutningen, typ av kommunikation kan variera beroende efter behovet. Anslutningar som använder http, https eller Microsoft.NET APIs for TCP/IP sockets, kan skapas. Extern anslutning kallas för inkommande slutpunkt (Eng: input endpoint) och intern anslutningen kallas för intern slutpunkt (Eng: internal endpoint). Extern slutpunkt knyts till port som du definierar. Intern slutpunkt tilldelas dynamiskt av Azure.

17 Slutpunkter (forts.) Varje web role kan ha ingen eller flera inkommande eller interna slutpunkter. Inkommande slutpunkt är nårbara från publikt nätverk, intern slutpunkt kan bara nås av instanser av roller inom samma cloud service. Interna slutpunkter har inte stöd för https.

18 Worker Roles Förkonfigurerad Förkonfigurerad Windows Server: - inget annat är installerat - ingen standard Azure slutpunkt. - bearbetar arbetsflöden som inte kräver IIS. - ytterligare mjukvara installeras med script. - logik implementeras i klassen WorkerRole.cs. Typiska arbetsuppgifter - köra arbetsuppgift under längre tid som är asynkrona och där använder inte behöver vänta på för att uppgiften skall bli klar. - applikationen behöver inget gränssnitt för användaren.

19 - bakgrundstjänst lyssnar på kö (Eng: queue). - kör TCP-baserad tjänst. - bearbeter intensiva arbeten.

20 Kommunikation med Worker Roles Externa lagring Eftersom Worker Role är en isolerad modul och kan ha flera instanser, används oftast extern lagring för förfrågningar till Worker Role. Service Host Worker Role kan vara service host för WCF 2 eller WEB API 3 och ta emot förfrågan från slutpunkt. 2 https://msdn.microsoft.com/en-us/library/ms731082(v=vs.110).aspx 3 https://msdn.microsoft.com/en-us/library/hh833994(v=vs.108).aspx

21 Kommunikation med Worker roles (forts.) Typ av lagring Typ av lagring som kan användas: - Azure Queue Storage kan användas för att lagra queue messages för worker role. - Service Bus queues kan vara ett alternativ. - relationsdatas kan också användas.

22 Bearbeta information i Worker Role Steg 1: Kontrollera lagringslösning för nya meddelande att bearbeta. Steg 2: Bearbeta meddelandet inom worker role. Steg 3: Markera meddelandet som hanterat, i lagringslösningen och inte längre tillgängligt för bearbetning. Steg 4: Pausa tråden. Tråden är paused (eller satt i sömnläge) för att temporärt bygga upp buffert mot eventuell begäran.

23 Bearbetning

24 Översikt bearbetning Avsnittet är uppdelat i följande rubriker: Användning av ServiceRuntime Demonstration: titta på mplementering av Default RoleEntryPoint Implementera RoleEntryPoint Class Livscykel för Cloud Service Role

25 Användning av ServiceRuntime Microsoft.WindowsAzure.ServiceRuntime DLL 4 är inkluderad i Azure SDK 5. DLL innehåller Microsoft.WindowsAzure.ServiceRuntime namespace, som har klasser relaterade till roles och hantering av dessa. Du kan hantera hur rollen skall bete sig när den startas, körs eller stoppas i Azure. Klassen RoleEntryPoint är inkluderad i denna namespace. Innehåller metoder som kallas på av Azure när den startar, kör eller stoppar web eller worker role. 4 https://msdn.microsoft.com/en-us/library/microsoft.windowsazure.serviceruntime.role.aspx 5 https://github.com/azure/azure-sdk-for-net

26 Demonstration titta på implementering av Default RoleEntryPoint

27 Implementera RoleEntryPoint Class Ärvs från Worker Roles måste ha klass, som ärvs från samma basklass som vilken annan roll. Implementerar Klassen RoleEntryPoint implementerar metoder för lifecycle management, som kan skrivas över av child class.

28 Implementera RoleEntryPoint Class (forts.) Tar första Plattform för Windows Azure, tar första klassen som hämtas från RoleEntryPoint och kör applikationens metoder i följande ordning: - RoleEntryPoint.OnStart() - Global.Application _Start() - RoleEntryPoint.Run()

29 Implementera RoleEntryPoint Class (forts.) Metoden OnStart() I metoden OnStart() kan worker roles konfigureras innan den börjar köras och innan ASP.NET applikationens start metod exekveras. Returnerar false Om OnStart() returnerar false, kommer role att stoppas omedelbart. Returnerar true Om OnStart() returnerar true, kommer metoden Run() att kallas på.

30 Implementera RoleEntryPoint Class (forts.) Metoden OnStart() I metoden Run() kan oändlig loop användas, för att kontrollera extern lagring. Inte skriva över Du behöver inte skriva över metoden Run(), eftersom den i sin basimplementering, aldrig körs klar. Startas om När Run() metoden körts klar, kommer roll omedelbart att startas om.

31 Livscykel för Cloud Service Role När cloud service startas om, kommer role att tas bort ifrån lastbalanserare innan den tas bort. Roles kan grupperas i speciell domän, för att minimera nertid. Ny virtuell maskin skapas för role och uppstartsjobb utförs. Role kan också startas om om det uppstår ett fel i något uppstartsjobb eller i kod för RoleEntryPoint. Cloud service måste designas på sådant sätt att uppstartsjobb hanterar all installation och konfiguration för web role. Tänk även på vid design av rollen, att virtuell maskin kan skapas eller tas bort närsomhelst.

32 Hantera och skräddarsy Cloud Services

33 Översikt hantera och skräddarsy Cloud Services Avsnittet är uppdelat i följande rubriker: Skalning. Lokal lagring. Diagnostik. Cloud Service Package. Uppdatering.

34 Skalning Du kan öka antalet instanser individuellt för varje Cloud Service role. Cloud Service och virtuella maskiner erbjuder olika storlekar för virtuella maskiner som skapas.

35 Skalning (forts.) Antalet instanser för varje role kan automatiskt skalas uppåt eller nedåt. Schedules kan användas för att ändra regelverk för autoscale. Skalning kan också hanters manuellt, genom API.

36 Lokal lagring För att definiera För att definiera lokal lagring för role, använd service definition file. Reservera katalog Resurser kommer att reservera katalog i filsystemet, när applikation behöver läsa eller modifiera en fil. När instans startas om Information i lokal resurs kan finnas kvar, när instans startas om.

37 Diagnostik Samla in Du kan samla in diagnostik information från Cloud Service applikation. Den insamlade informationen kan användas för felsökning, mäta prestanda, monitorera användning av resurser, analysera trafik, säkerhet eller för att planera kapacitet. Lagras i ett För att bli bestående, kan informationen lagras i ett common storage account. Överföringen kan antingen schemaläggas eller ske när den behövs. Inställningar sätts i role configuration file. Där även källan för informationen sätts. Källan kan vara logger I Azure, IIS 7.0 loggar, Azure Diagnostic Infrastructure logs, IIS request trace log, händelseloggar från Windows, crash dumps eller custom error logs. Som skall lagras Vad som skall lagras, kan bestämmas, liksom nivå.

38 Cloud Service Package Cloud services skapas genom att använda två filer: - Cloud Service Package (.cspkg) - innehåller binary för varje role. - innehåller även skräddarsydd konfiguration för varje roll, såsom inställningar och slutpunkter.

39 Cloud Services Package (forts.) - Cloud Service Configuration File (.cscfg) - innehåller konfigurationsfil för cloud service med rolldefinitioner och konfiguration för nätverket. - innehåller antalet instanser och certifikat för role. - inkluderar regelverk för ACL. - definierar virtuellt nätverk för cloud service.

40 Uppdatering In-place update Uppdatering är i form av in-place update. Existerande tjänst För existerande tjänst, kan uppdaterad konfigurationsfil laddas upp. Om behov av Om behov av att ändra applikation, kan nytt cloud service paket och ny konfiguration laddas upp.

41 Övning: skapa bakgrundsprocess Scenario: Contoso har en applikation för bokningar som förnärvarande kräver att administrator genererar ett Word-dokument för anmälan. Detta kan bli en flaskhals om applikationen skall skalas. För att undvika detta, så beslutar du dig för att designa om denna lösning, så att webbapplikation som körs på frontend skickar förfrågan i form av request, för att generera detta dokument. Du beslutar dig också för att skapa worker role som kontrollerar efter dessa förfrågningar och genererar dokumentet. I labben kommer du att skapa C# Class Library project, ligger till referenser och därefter lägger du till Worker Role till din cloud service. Vi kommer att använda oss av Azure computer emulator för att testa rollerna för web och worker.

42 Övning 1: Skapa C# Class Library Arbetsuppgift 1: Skapa ett C# Library projekt. Steg 1: Klicka på.rdp-fil för din utvecklingsmaskin i Azure och logga på denna. Steg 2: På Start screen, högerklicka på Visual Studio. Steg 3: I fönstrets nedre del, klicka på alternativet Run as Administrator. Steg 4: I Start screen för Visual Studio, klicka på Open Project. Steg 5: I dialogfönstret Open Project, bläddra dig till Allfiles (F):\Labbfiler\Labbfiler\Modul5\Labbfiler\Starter\Contoso.Events, klicka på Contoso.Events.sln. Steg 6: Klicka på Open. Steg 7: Expandera Solution Explorer pane, för att visa projekt i solution. Steg 8: I Solution Explorer pane, högerklicka på nod för Contoso.Events. Steg 9: Peka på Add. Steg 10: Klicka på New Project. Steg 11: I dialogfönstret Add New Project, utför följande: - expandera Installed, Visual C#, klicka därefter på Windows Desktop. - klicka på Class Library template. - i boxruta för Name, skriv in Contoso.Events.Worker. - klicka på OK. Arbetsuppgift 2: Lägg till referens till Azure SDK libraries och till projektet. Steg 1: Högerklicka på projektet Contoso.Events.Worker. Steg 2: Peka på Add. Steg 3: Klicka på Reference.

43 Steg 4: I dialogfönstret Reference Manager Contoso.Events.Worker, utför följande: - expandera Assemblies, klicka därefter på Extensions. - välj Microsoft.WindowsAzure.ServiceRuntime assembly med versions nummer 2.5.0.0. - klicka på OK. Steg 5: Högerklicka på projektet Contoso.Events.Worker. Steg 6: Peka på Add. Steg 7: Klicka på Reference. Steg 8: I dialogfönstret Reference Manager Contoso.Events.Worker, utför följande: - expandera Solution, klicka därefter på Projects. - välj Contoso.Events.Models project. - välj Contoso.Events.Data project. - välj Contoso.Events.Documents project. - klicka på OK. Steg 9: I View menu, peka på alternativet Other Windows, klicka därefter på Package Manager Console. Steg 10: I Package Manager Console pane. Välj Contoso.Events.Worker, i listan Default Project. Steg 11: I textytan i Package Manager Console, placera markören direkt efter PM>, skriv in följande kommando: Install-Package EntityFramework -Version 6.0.2 Steg 12: Klicka på Enter. Steg 13: I Solution Explorer, högerklicka på Contoso.Events.Worker project, klicka därefter på Build. Klicka på Overwrite om du får meddelande

44 Arbetsuppgift 3: Skapa klass arv från RoleEntryPoint. Steg 1: I Solution Explorer pane, högerklicka på Contoso.Events.Worker project. Steg 2: Klicka på Add. Steg 3: Klicka på New Item. Steg 4: I dialogfönstret Add New Item Contoso.Events.Worker, utför följande: - expandera först Installed, expandera därefter Visual C# Items. - klicka på Class. - i rutan för Name, skriv in WorkerRole.cs. Steg 5: Klicka på Add. Steg 6: I Solution Explorer pane, expandera Contoso.Events.Worker project. Steg 7: Dubbelklicka på WorkerRole.cs. Steg 8: Lokalisera följande rad av kod: class WorkerRole Steg 9: Ersätt rad med kod som du lokaliserade i Steg 8 med följande kod: public class WorkerRole Steg 10: Lägg till följande block i toppen av klass: using Microsoft.WindowsAzure.ServiceRuntime; Steg 11: Lokalisera följande rad av kod: public class WorkerRole Steg 12: Ersätt raden med kod som du lokaliserad i Steg 11 med följande kod: public class WorkerRole : RoleEntryPoint Steg 13: Klicka någonstans mellan första och sista {} i WorkerRole class. Steg 14: Klicka på Enter, för att lägga till utrymme i din metod.

45 Steg 15: Lägg till följande block av kod i din klass: public override bool OnStart() { ServicePointManager.DefaultConnectionLimit = 12; return base.onstart(); } Steg 16: Lägg till följande block i toppen av klassen: using System.Net; Steg 17: Klicka någonstans mellan {} i WorkerRole class. Steg 18: Klicka på Enter, för att lägga till utrymme i din metod(er). Steg 19: Lägg till följande block av kod i din klass: public override void Run() { Trace.WriteLine("Queue Run Start"); while (true) { Thread.Sleep(10000); Trace.WriteLine("Queue Run Iteration"); } } Steg 20: Lägg till följande block i toppen av klassen: using System.Diagnostics; using System.Threading; Steg 21: Spara WorkerRole.cs class.

46 Arbetsuppgift 4: Implementera logik för att få begäran från SQL databasen. Steg 1: Högerklicka på Contoso.Events.Worker project. Steg 2: Peka på Add. Steg 3: Klicka på Existing Item. Steg 4: I dialogfönstret Add Existing Item Contoso.Events.Worker, utför följande: Steg 5: Förflytta dig till Allfiles (F):\Labbfiler\Labbfiler\Modul5\Labbfiler\Starter. Steg 6: Klicka på WorkerRole.cs. Steg 7: Klicka på Add. Steg 8: I dialogfönstret Destination File Exists, klicka på Yes för att ersätta existerande fil. Steg 9: I dialogfönstret Microsoft Visual Studio, klicka på Yes för refresh av source editor. Steg 10: I Solution Explorer pane, expandera Contoso.Events.Worker project. Steg 11: Dubbelklicka på App.config item. Notera: Om App.config saknas, högerklicka på Contoso.Events.Worker, peka på Add, klicka därefter på Add New Item. Klicka på Installer-Visual C# Items- Application Configuration File-Add. Steg 12: Välj innehållet i konfigurationsfilen. Steg 13: Klicka på Delete. Steg 14: Skriv in följande XML-kod: <?xml version="1.0" encoding="utf-8"?> <configuration> <connectionstrings> <add name="eventscontextconnectionstring" connectionstring="data

47 Source=(localdb)\v11.0;Initial Catalog=EventsContextModule5Lab;Pooling=True;Integrated Security=True" providername="system.data.sqlclient" /> </connectionstrings> </configuration> Working Role Class Library har skapats. Övning 2: Lägga till Class Library till projektet Arbetsuppgift 1: Lägg till Class Library som worker role i ditt projekt. Steg 1: I Solution Explorer pane, högerklicka på Contoso.Events.Worker project, klicka därefter på alternativet Unload Project. Steg 2: Om inte projektet är sparat, kommer du att få fråga om detta, klicka på Yes och spara undan ditt projekt. Steg 3: I Solution Explorer pane, högerklicka på Contoso.Events.Worker project och klicka på Edit Contoso.Events.Worker.csproj. Steg 4: Lokalisera XML elementet <PropertyGroup>. Steg 5: Efter XML element <PropertyGroup> men innan <Configuration>, lägg till följande XML element: <RoleType>Worker</RoleType> Steg 6: I Solution Explorer pane, högerklicka på Contoso.Events.Worker project, klicka därefter på Reload Project. Steg 7: Du kommer att bli frågad om att.csproj filen skall stängas, klicka på Yes för att stänga densamma. Steg 8: Om du inte har sparat filen, kommer du att få möjlighet till detta, klicka på Yes för att spara.csproj. Steg 9: I Solution Explorer pane, expandera först Contoso.Events.Cloud project, därefter katalogen Roles.

48 Steg 10: Högerklicka på katalogen Roles. Steg 11: Peka på Add. Steg 12: I solution, klicka på Worker Role Project in solution. Notera: Om Worker Role Project i Solution är disabled (utgråad), kan du slå på det genom att ladda om ditt projekt. Utför följande: a: I Solution Explorer pane, högerklicka på Contoso.Events.Worker project, klicka därefter på Unload Project. b: I Solution Explorer pane, högerklicka på Contoso.Events.Worker project, klicka därefter på Reload Project. c: Gå till Steg 12. Steg 13: I dialogfönstret: Associate with Role Project, utför följande: Steg 14: Klicka på OK. a: Klicka på Contoso.Events.Worker. Steg 15: Klicka på OverWrite. När denna del är klar, har du tagit ett existerade Class Library project och konverterat detta till worker role i ett existerande cloud service projekt. Övning 3: Debug worker role Arbetsuppgift 1: Debug worker role. Steg 1: I Solution Explorer pane, högerklicka först på Contoso.Events.Cloud project, klicka därefter på Set as Startup Project. Steg 2: I Debug menu, klicka på Start Debugging. Klicka på OverWrite. Notera: Vi kommer i kursen arbeta med AzureCompute Emulator för att testa och debugga vår Cloud Services. Det är ett snabbt sätt för oss att testa Cloud Services innan vi rullar ut dessa till Azure plattformen. Ibland kan det uppstå

49 lite udda fel med emulatorn, t ex felaktigt portnummer eller att sida inte visas. Om detta skulle uppstå, stäng ner emulator, nästa gång du startar debug, kommer Visual Studio starta emulatorn igen. Steg 3: På hemsidan för Contoso Events, klicka på namnet för vilken händelse som helst. Steg 4: Klicka på Generate Sign-on Sheet. Steg 5: Gör refresh på sidan var 30 sekund tills sign-in sheet är genererat. Notera: Du kommer att märka detta, när text i knapp ändras från Generate Sign-In Sheet till Download Sign-In Sheet. Steg 6: Klicka på Download Sign-In Sheet, för att ladda ner Word dokumentet. Steg 7: I nedre del av fönstret för Internet Explorer, klicka på Open i dialogrutan Download. Steg 8. Notera innehåller i.docx filen som du öppnar i WordPad. Steg 9: Stäng WordPad. Steg 10: Stäng Internet Explorer.

50 Repetitionsfrågor 1) Vad utgör bas för Cloud Services? 2) Vilka roles finns i Cloud Services? 3) Vilken role används för att exekvera logiken i Cloud Services?

51 4) Vilka typer av lagring kan användas för worker role? 5) Var implementeras logiken för worker role?