It’s finally out now.
What’s New for version 1.3:
Windows Azure Tools for Microsoft Visual Studio also includes:
Also…
With new management portal (Silverlight-based)
Ability to remote desktop over there
Yes, It’s officially announced by SEA (Southeast Asia) MVP Lead, Lilian Quek.
I am very glad to inform that my MVP competency has been switched from Visual C# to Windows Azure. I would be also the FIRST and (at the moment THE ONLY ONE) Azure MVP in Southeast Asia.
For the last few months to now, I keep focus my technical skill on Windows Azure. Partially it’s because a requirement for my job, on the other hand I’ve strong personal interest and passion on Cloud Computing and Windows Azure.
It was sometime in late 2008 when Microsoft just announced the CTP (Community Technical Preview) of Windows Azure. I got a chance to access the CTP version of Windows Azure, at that time Windows Azure was really a new born baby, it’s so plain, no SQL Azure yet. You can check out my first few post on Windows Azure CTP (in Bahasa) here.
Why should I learn that at that time? It was part of my job as I was working as Developer Evangelist at Microsoft Indonesia who need to deal and evangelize latest and upcoming Microsoft technology.
Last few months ago when I started to peek in Azure again, I found Microsoft really invested much effort in this platform. SQL Azure (was SQL Data Service) was refined. Windows Azure AppFabric (was .NET Services) was repackaged. More learning resources on MSDN, more great features on the entire Windows Azure Platform.
I strongly believe that Microsoft will keep putting more effort to support Windows Azure in future as you can see what Microsoft CEO said and new Microsoft tagline below.
Honestly, there are a few factors to drive my initiative to request switching my competency:
I am not working as “cloud” solution architect for one of biggest SI in Singapore. Partially, my job require me to do so.
I am kinda geeky guy (early adopter) who like to deal with new technologies (even though CTP / Beta). Windows Azure at the moment is still to be considered as one of them.
As we can see from many research has been done such as (gartner, cordys, etc) stating that cloud computing will become the key trend on upcoming / future. I believe an early adoption would definitely bring benefit and personal value to me.
Well, the reason why the first time I selected C# as my competency is because I love the language wise of this programming language. Up to now, I am still like it and will keep continuously use it. But then, honestly this category is somewhat too common and general. There’re so many C# MVPs in world-wide (I believe about more than 200).
Why don’t I switch to more “fresh-from-oven” expertise. Isn’t it cool! ![]()
Now let’s discuss the process of how process of switch it. Honest to say, it’s not that easy to switch MVP competency. One of our senior C# MVP in Indonesia shared his experience to switch to C++ MVP, but it ends up rejected since his activities in C++ is not as many as in C#.
Then what have I done?
1. Actively writing Windows Azure related blog.
Within 3 months, I’ve written more than 20 Windows Azure related blog posts, with more than 8553 page views.
2. Actively involved in MSDN Forum for Windows Azure Platform.
Previously, I am not an active at all on MSDN Forum since I am more active in local mailing list and forum. Since at the moment the interest of Windows Azure in Indonesia is not that high, I looked into MSDN forum for Windows Azure, and I’ve posted more than 150 post within 3 months.
3. Presenting Windows Azure talk at event.
Here’re the list of Windows Azure talk I’ve ever delivered:
4. Learning Windows Azure from various resources day and night.
I keep and keep learning Windows Azure from various resources including PDC recording session, MSDN library, Cloud Cover Show, etc. Really, I am serious about “day and night”.
Since my work requires me with relevant Window Azure skill, I learn it at day time.
At night or weekend, I am still watching Cloud Cover Show, as a part of interest and passion.
I hope that I’ll be able to keep passionate in Windows Azure through both online and offline activities.
Let’s chant! Azure… Azure… Azure… ![]()
Regards,
Wely Lau
Microsoft MVP, Windows Azure
Recently, I am researching on how to use chart control, dashboard gadgets, and reporting tools in Windows Azure. Since the architecture of Windows Azure works quite different with traditional ASP.NET application, there’re also some issues around.
First thing that I am looking to explore is about chart control in ASP.NET 4.0. Let’s start diving into the detail how it works in ASP.NET and Windows Azure.
1. Let’s create a empty ASP.NET Website.
2. Add an ASP.NET Webpage and name it Default.aspx.
3. Drag a chart control on your web page.
4. Override the chart tag with the followings.
<h1>Chart Control in ASP.NET</h1>
<asp:Chart ID="chtNBAChampionships" runat="server">
<Series>
<asp:Series Name="Championships" YValueType="Int32" ChartType="Column" ChartArea="MainChartArea">
<Points>
<asp:DataPoint AxisLabel="Celtics" YValues="17" />
<asp:DataPoint AxisLabel="Lakers" YValues="15" />
<asp:DataPoint AxisLabel="Bulls" YValues="6" />
<asp:DataPoint AxisLabel="Spurs" YValues="4" />
<asp:DataPoint AxisLabel="76ers" YValues="3" />
<asp:DataPoint AxisLabel="Pistons" YValues="3" />
<asp:DataPoint AxisLabel="Warriors" YValues="3" />
</Points>
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="MainChartArea">
</asp:ChartArea>
</ChartAreas>
</asp:Chart>
5. When you drag a chart control in the toolbox to your webpage, Visual Studio actually generates some configuration for you in web.config file as following.
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:TempImageFiles;" />
</appSettings>
<system.webServer>
<handlers>
<remove name="ChartImageHandler" />
<add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST"
path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</handlers>
</system.webServer>
<system.web>
<httpHandlers>
<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
validate="false" />
</httpHandlers>
<pages>
<controls>
<add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting"
assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</controls>
</pages>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
</system.web>
</configuration>
These configurations include handler to handling chart generation, application setting for chart generation, as well as simply tag prefix used in our web page.
6. Simply run the application and you will see a chart showing on the page.
1. Now I am creating a new Windows Azure Cloud Service with one webrole.
2. I’ll do the same thing that I’ve done in step 3 and 4.
3. Let’s run the application to see whether it works…
No, it doesn’t work well.
There’s always a workaround that we can do. Let me show you how to do it step by step.
1. The error you are getting is actually with regard to Integrated Managed Pipeline Mode that Windows Azure applies.
If we take a look at the web.config file, there is a section of http handler exits inside the <system.web> tag, which is the way traditional classic pipeline style.
Remove those section since the Integrated Managed Pipeline Mode only requires to place those setting in the <system.webServer> section.
2. Run the application again and see whether it works.
No, it doesn’t work. Why? The way ASP.NET Chart control work is dynamically generate the chart before displaying it to the web page.
By default, it would be stored in file system specifically in “C:TempImageFiles” folder.
Since Windows Azure, we do not have control over the specific drive and folder, something must be done.
3. Go to the web.config file and locate to <appSettings>.
Change the value to the following:
storage=memory;deleteAfterServicing=true;
The “storage=memory” means that we are not storing the temporary image in specific folder, but it will be kept in webserver’s memory.
The “deleteAfterServicing=true” ensure that the temporary image must be deleted after servicing.
4. Now, let’s run the application again and see whether it works…
Ahah! It works fine.
Don’t be too happy soon. All of my works in the section above are done in local development fabric. Working fine in development fabric doesn’t mean also work fine in real Window Azure environment.
One thing that requires to deploy it to Windows Azure is to ensure that set the “Copy Local” of System.Web.DataVisualization assembly to True.
Now, let’s try to deploy it to the real Windows Azure environment and see the result.
It works fine!

Categories
Tag Cloud
Blog RSS
Comments RSS
Last 50 Posts
Back
Back
Void
Life
Earth
Wind « Default
Water
Fire
Light 