It is actually not difficult to move your asp.net application to Azure even if you are using Sessions.
This is just because of the services offered by Azure Cache. In the end, you only need to make few changes your web.config and you will be running your session through distributed cache which is provided by Azure Cache.
In simple terms, the following is the only thing you need to do:
<sessionState mode=”Custom” customProvider=”DistributedSessionProvider”>
Please read more @ http://msdn.microsoft.com/en-us/library/windowsazure/gg185682
I still can’t believe there is still no support for Azure in Dev 11 / .Net 4.5
There are ways to do so but not nice yet.
I would like to get the bits to publish my .Net 4.5 ASAP!
Building a new tool for personal use which can become commercial later on (so many alternatives already out there in market anyway) where my “My Documents” to be synced with the blob account using sync framework.
I am totally amazed with the amount of work Microsoft did for sync framework, it is really awesome.
Very well done and most problems are just simplified.
Starter blog/code for this is: http://code.msdn.microsoft.com/windowsazure/Synchronizing-Files-to-a14ecf57
Next: Syncing database to SQL Azure using sync framework (I see lots of work done around this only)
Azure is so powerful and it is increasing its power with new use cases.
I am totally amazed and I see that the game will change completely in 10 years where cloud will be a MUST!
Given that, let’s take a look into some challenges in Azure specifically.
Azure has a nice & simple management portal and it allows to add co-admins which is extremely nice however at the same time it is damn too powerful.
Once you have access, you simply can do anything and so far there is no role based management.
Your team may want to see what is going on Azure and you simply can’t give this access to anyone.
At this exact moment, Management API comes to our help which has all the powers as the management portal but you can simply make a simple website which just gives existing setup to your employees as a read only portal.
Details of the API can be found here: http://msdn.microsoft.com/en-us/library/windowsazure/ee460799.aspx
And one of the most important thing to implement Management API is, the Management Certificate (well, you need some sort of security to give access to the system and can’t really have the password shared anywhere)
Certificates in Azure is an important subject where this article in TechNet explains all details about that: http://technet.microsoft.com/en-us/magazine/gg607453.aspx
Note: Soon Azure Readonly Portal will be live
After doing enough research on both, what we’ve end up doing is; not using any ORM tool.
ORMs are designed to do rapid development for RIA (Rich Internet Applications) where performance is not a big concern.
Yes, ORM can speed up your development such as EF 4.0 or NH but they all lack one very important thing which is support for Stored Procedures for general select which shall be by default. All ORMs are focused on eliminating that and trying to optimize queries without SP.
If you ask me, SP are most useful when you use for select in general because you can really optimize the execution plan and it will be cached on SQL server. So in all subsequent calls to the database with same routine, SQL server will always know the execution plan and it will save time. [SP's execution plans are cached on SQL server.]
Therefore not using ORM is my choice.
Here are what I lose by not using ORM
- Extra quick development
- Default behavior of throwing exception on an update where data was already changed before the update (concurrency handling)
What I gain by not using ORM
- Will get the best performance
- My code will not have unnecessary extra code which I may not even use
- Will use SP’s the way they are supposed to be used
- Will abstract data layer in the most perfect manner
- Improve existing code generator to do my own ORM (no oData)
- All entities will be generated with DataContracts, DataMembers (necessary in WCF)
- Proper implementation of RETRY logic in SQL Exceptions (if you ever want to move into SQL Azure, you need to do this also)
- Will implement concurrency handling
As a result, I have tons of gains by not using .
Most important is achieving best performance and SP usage on selects.
I hope I’ve helped.
Please let me know if any more digging in this is required.
Common problem as you cannot use “aspnet_regsql.exe” tool.
Fix is also very simple, just follow instructions @ http://support.microsoft.com/kb/2006191
Once done, you are good to go, just launch your asp.net configuration utility and enjoy.
Ohh , before I forget, you can ignore the script execution warnings such as “Cannot grant, deny, or revoke permissions to sa, dbo, entity owner, information_schema, sys, or yourself.”
Here we go,
After so much name discussion, finally project name is clear.
- It needs to be on the cloud (Azure)
- It needs to be clean (Green)
- It needs to be unique
So what makes the gloudcms?
- Runs on cloud
- Currently only designed for windows Azure
- Be Green
- Implement all best practices
- All code analysis rules are passing (implemented ) √
- 100% code coverage (not yet implemented)
- Clean implementation √
- Easy to integrate / install √
- Only requirement to install is
- Put the dll file into your bin directory
- Make 1 line change in web.config
- Copy “Template” folder which contains CMS templates you want to implement (make your own also)
- No additional hardware requirement √
- Platform independent (other that being on .net platform) √
- Can run on azure
- Can run without azure
- Currently supports only
- Looking for translators for other languages send me email from email@example.com
Do you want to test drive what is there so far?
Ok, I am not offering all fancy things you can test yet, just a simple admin view is there without saving.
Please note, the importance of this preview is about having simple installation on base asp.net application and being on cloud and implementing all static code analysis rules.
From now on, all features will be coming in and making this very interesting.Simple change in web.config for Azure:
<modules runAllManagedModulesForAllRequests="true" >
<add name="gloudcms.net" type="SGCmsBase.SGIntercept" />
Change in regular web.config (No Azure)
<add name="gloudcms.net" type="SGCmsBase.SGIntercept" />