MVC 3 beta on Windows Azure

by Rok Bermež 10. November 2010 10:48
This is also valid for RC release of MVC 3. When preparing a demo for my next lecture I noticed that when using MVC3 beta, everything works correctly in development fabric, but it fails when deployed to Windows Azure. Web Role is cycling between initializing / stopping and that usually mean that not all dependencies are included with the deployed project. To solve the problem just add references to the following dlls located in C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies: System.WebPages.dll System.Web.WebPages.Razor.dll System.Web.Helpers.dll System.Web.Razor.dll WebMatrix.Data.dll Microsoft.Web.Infrastructure.dll and make sure that all of them (including System.Web.Mvc.dll (v3.0.0.0)) are marked as Copy local = true.

Tags:

.Net | ASP.NET | Azure | Web

Windows Azure - Novosti

by Rok Bermež 1. November 2010 13:11
Prejšnji teden je Microsoft na PDC-ju objavil nove funkcionalnosti, ki bodo v naslednjih 12 do 18 mesecih doletele Windows Azure.  Za vse tiste, ki si dogodka niste imeli časa ogledati, je tu pregled teh funkcionalnosti, ki bodo naredile Windows Azure še bolj kompletno 'cloud' platformo: -          Dobimo novo VM vlogo, ki nam bo omogočala nalaganje svojega VHD  virtualnega diska in njegov zagon  v oblaku ter bo v začetku podpirala operacijske sisteme Windows Server 2008 R2, 2011 (ko bo na voljo), Windows Server 2003 in Windows Server 2008 s Service Pack 2. Malce kasneje, proti koncu naslednjega leta,  pride tudi 'Server Application Virtualization', ki bo omogočal nameščanje strežniških aplikacij v oblak brez potrebe po njihovem pakiranju v VHD-je. Pred tem, do konca letošnjega leta, pa dobimo administratorske pravice  in oddaljen dostop (RDP) do obstoječih VM-jev, tako da bomo lahko nanje nameščali stvari, ki jih do zdaj nismo mogli. -          SQL Azure se z pridobitvijo  SQL Azure Reportinga in dodatnih storitev za sinhronizacijo, ki nam bodo omogočale replikacijo podatkov na lokalne strežnike in mobilne naprave, hitro približuje svojemu strežniškemu bratu. Predogled obeh storitev naj bi bil omogočen še letos. -          Tudi AppFabric dobi nekaj novosti -  distribuiran 'cacheing', lažjo integracijo z BizTalk strežnikom ter kompozitne aplikacije. -          Kot konkurenco Amazonovi novi micro instanci, dobimo 'Extra Small' velikost VM-ja, ki pri ceni $0,05 / compute hour precej zniža vstopni prag malih podjetij v oblak. Z vsemi napovedanimi novostmi bo Windows Azure trenutno zagotovo najpopolnejša ponudba oblaka.

Tags:

Azure

Using MVC routing to address multi-tenant Azure applications

by Rok Bermež 11. October 2010 10:29
Currently I have a scenario where I have to have more than one site and multiple domains/subdomains in a single Windows Azure web role. For obvious reasons Windows Azure give us FQDN (like myapp.cloudapp.net) instead of IP address so we have to use CNAME to point to our instance/s. The only problem with this approach is that only domain name cannot have CNAME record. For instance www.mydomain.org is fine, but just mydomain.org is not since it needs specific IP address. For the time being this was solved by pointing it to some specific address which would redirect the user to www of that domain. That part was simple and straightforward, but now we need something inside our web role, that would detect requested domain and serve appropriate content. There are a couple of threads online that deal with the issue of addressing multi-tenant application in Windows Azure and most of them deal with url rewriting on the single domain. You can read more about it here and here. In my project I used MVC Areas to separate different sites so all I needed was MVC routing to use domain name from incoming request in its routing configuration. I found an excellent article on the subject here, but unfortunately it was written before MVC 2 introduced areas, so in order to use it lets add area support to it. First lets download the sample here, open and if needed convert solution and open DomainRoute.cs. We only need to add one line to the end of GetRouteData method: if (Defaults.Keys.Contains("area")) data.DataTokens.Add("area", Defaults["area"]); so that it looks like: if (DataTokens != null) { foreach (var token in DataTokens) { data.DataTokens.Add(token.Key, token.Value); } } if (Defaults.Keys.Contains("area")) data.DataTokens.Add("area", Defaults["area"]); } return data; }   And we are ready to register our areas as their own domains/subdomains public override void RegisterArea(AreaRegistrationContext context) { context.Routes.Add("subodomain_default", new DomainRoute( "subdomain.mydomain.si", "{controller}/{action}/{id}", new { area = AreaName, controller = "Home", action = "Index", id = UrlParameter.Optional } ) { DataTokens = new RouteValueDictionary(new { Namespaces = new string[] { "MvcWebRole1.Areas.subdomain.Controllers" } }) } ); }  I strongly suggest you pass Namspaces to every route registration so you can have multiple controllers with the same name serving different tenants. Soon Ill add a DomainRouteExtension and post it here so the usage will be even simpler.

Tags:

.Net | Azure | Web

Windows Azure SDK (1.2) is available

by Rok Bermež 7. June 2010 18:46
Yeeey, finally .net 4 support in the cloud! Also: Visual Studio 2010 RTM Support: Full support for Visual Studio 2010 RTM. .NET 4 support: Choose to build services targeting either the .NET 3.5 or .NET 4 framework. Cloud storage explorer: Displays a read-only view of Windows Azure tables and blob containers through Server Explorer. Integrated deployment: Deploy services directly from Visual Studio by selecting ‘Publish’ from Solution Explorer. Service monitoring: Keep track of the state of your services through the ‘compute’ node in Server Explorer. IntelliTrace support for services running in the cloud: Adds support for debugging services in the cloud by using the Visual Studio 2010 IntelliTrace feature. This is enabled by using the deployment feature, and logs are retrieved through Server Explorer.  Read more here. and download ASAP here.

Tags:

.Net | Azure

Azure 404 error redirection

by Rok Bermež 24. February 2010 11:56
Windows Azure uses IIS7 so normal <customErrors mode="RemoteOnly" redirectMode="ResponseRedirect" > <error statusCode="404" redirect="404.htm"/> </customErrors> wont work. What we have to do is to add <httpErrors errorMode="Custom"> <clear/> <error statusCode="404" path="404.htm" responseMode="Redirect"/> </httpErrors> to web.config and we are safe again.

Tags:

.Net | ASP.NET | Azure

Calendar

<<  October 2017  >>
MonTueWedThuFriSatSun
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

View posts in large calendar

Page List

Month List