Windows Azure MVC 3 met Tools 1.4 (Profiling)

Zoals ik al beschreven heb ik mijn vorige blogpost. Had ik de optie voor profiling aagezet.

mvc3_06_thumbmvc3_04_thumb

En nadat ik de applicatie daadwerkelijk gedeployed had en deze ook naar behoren werkte, ging ik naar de Server Explorer. Als je dan connect naar de Windows Azure Compute en je klikt naar benenden, dan kun je kiezen voor View Profiling Report.

mvc3_12_thumb

Visual Studio gaat dan even aan de slag en onderin verschijnt in de Windows Azure Activity log een nieuwe activiteit. Er wordt namelijk de data voor het report opgehaald uit de Windows Azure tables.

mvc3_13_thumb

Daarna krijg je dit rapport te zien.

mvc3_14_thumb

Als je op de link bij het uitroeptekentje klikt, wordt het rapport iets uitgebreider.

mvc3_15_thumb

Handig hoor! Oke, voor de lange termijn heb je hier niets aan en heb je Cerebrata Azure Diagnostics Manager of SCOM nodig. Maar voor profiling van je applicatie is het wel perfect.

Windows Azure MVC 3 met Tools 1.4

Een van de nieuwe dingen in Visual Studio Windows Azure tools 1.4 Augustus update (wat een mond vol eigenlijk zeg) is dat MVC 3 een standaard WebRole is geworden. Maar ook Profiling is een optie geworden voor het debuggen, naast de al aanwezige Web deploy mogelijkheid.

mvc3_03

Dus toen ik aan het spelen was met de Tools update heb ik natuurlijk een kale MVC 3 WebRole gepakt en deze deployed naar mijn tweede Hosted Service met alle opties aan.

Dus met profiling aan. Als je deze optie selecteert dan moet je ook nog een level van profiling selecteren. Ik heb gekozen voor CPU sampling, de andere keuzes bekijk ik later nog eens. Maar ook heb ik de Web deploy optie gekozen en dat is wel handig moet ik zeggen. Daarover later meer.

mvc3_06mvc3_04

Nadat ik dit allemaal ingesteld had en mijn nieuwe Windows Azure application gedeployed had, ging ik natuurlijk naar de URL van mijn Hosted Service staging enviroment. Het duurde even, wat mij al verbaasde en vervolgens zag ik deze foutmelding. Wat ging er nu fout? Uiteraard had ik voordat ik uberhaupt ging deployen naar Windows Azure, de solution gerund op mijn Development fabric.

mvc3_07

Ik was verbaasd, maar oke. Wat doen we dan allemaal in zo’n geval, we passen de Web.config aan zoals de foutmelding aangeeft. Dus normaal gesproken RDP-en we naar de WebRole, openen de Windows verkenner en browsen naar de E of F schijf op zoek naar de web.config. We passen hem aan en voila, de waas is verdwenen.

Maar zoals eerder gezegd, ik had Web deploy aangevinkt. Dus ging ik het deze keer anders doen. In mijn solution paste ik de Web.config aan. Ik deed dit natuurlijk in de debug versie van de web.config, zodat ik als ik het probleem had opgelost de release versie kon deployen. Ik vroeg mij wel af waarom ik dat niet standaard alvast in de debug versie van de web.config zette of waarom het niet als standaard zo is ingesteld.

mvc3_02

Web deploy gaat relatief simpel. Op de Web project in je Windows Azure solution doe je Rechter muis klik en kies je voor Publish.

mvc3_05

Er verschijnt dan een scherm met de nodige opties. Oke, dit kostte mij enige tijd voordat ik de juiste gegevens had ingevuld. De service URL moest zijn: mvc3_08

Seconden later zegt de status balk dat het gelukt is en het output window toont dat ook.

mvc3_09

En op de Website kreeg ik een duidelijke foutmelding.

mvc3_10

In de web.config staat bij MVC 3 web projecten een connection string naar een SQL Express database voor de Application Services en de Session state provider. Nadat ik deze had aangepast naar een SQL Azure database, was mijn eerste MVC 3 Webrole een feit en beschikbaar.

mvc3_11

Ik had het eerder kunnen zien, als ik maar op de Warnings had gelet. Maar helaas een warning is geen error en dus werd ik niet getriggerd.

mvc3_01

Gelukkig was ik niet de enige Wade Wagner van de Cloud Cover show heeft dat ook gezien en zijn blogpost bevat meer info over de ASP.NET Universal Provider package.

In mijn volgende blogpost iets over Profiling.

Windows Azure Visual Studio Tools 1.4 Augustus update

Sinds vandaag is er een update van de Windows Azure Visual Studio Tools update beschikbaar. Deze update is met behulp van Microsoft Web platform Installer te downloaden en te installeren. http://blogs.msdn.com/b/windowsazure/archive/2011/08/03/announcing-the-august-2011-release-of-the-windows-azure-tools-for-microsoft-visual-studio-2010.aspx

Hebben jullie mijn vorige blogpost gelezen over Windows Azure & Configuratie transformaties? Dan hebben jullie ook gelezen dat dit nogal een omslachtig stukje werk was om toch verschillende configuraties in een solution te onderhouden. Uit mijn praktijk ervaring bleek dit ook nog niet altijd helemaal goed te gaan, maar het werkte verder wel perfect.

Maar met de update van de Windows Azure Visual Studio tools is het een stuk eenvoudiger geworden. Als je een standaard nieuw Windows Azure project aanmaakt, dan krijg je al twee configuraties mee: Cloud en Local. Oke deze moet je dan uiteraard zelf nog invullen.

newtools14_1

Mocht je meerdere omgevingen willen ondersteunen, dan kan dat uiteraard. Met de menu keuze Manage Configurations kun je extra configuraties toevoegen en kopieren van een bestaande configuratie.

newtools14_2

Je hoeft niet moeilijk te rommelen met XLST achtige transformatie regels of zo. Je doet gewoon RechterMuis klik op de Role (Web of Worker), je selecteert de gewenste configuratie bovenaan en vult de gegevens in. Zo simpel kan het.

newtools14_5newtools14_6

Wat er ook is aangepast en dat vind ik persoonlijk wel erg mooi, of je een publish of een package maakt zijn nu twee aparte keuzes. Oke, ik hoop dat er ook nog twee losse tools voor komen. Meestal is degene die de package maakt of de publish doet niet de ontwikkelaar en heeft dan niet altijd Visual Studio tot zijn beschikking. Met de nodige PowerShell commands is dit natuurlijk wel te regelen, maar in deze UI wereld is een los appje wel handig.

newtools14_7

Op beide schermen kun je dan de keuzes maken voor de juiste configuraties. En dit is heel mooi, er kunnen combinaties zijn van de web.config configuratie en de Service configuratie (zoals Debug in de Cloud of Releas in Dev fabric etc).

newtools14_3

newtools14_4

En dit zijn nog maar een paar van de wijzigingen. Er zitten nog veel meer in. Maar misschien daarover later meer. Zoals MVC 3 als default Role, profilers etc.

Zo zie je maar weer, Windows Azure tools groeien met ons mee en in een mooi rap tempo.