Cheap Windows ASP.NET Hosting Tutorial – Tips to configuration ASP.NET MVC 4 on a Windows Azure Website

ByAlexia Pamelov

Cheap Windows ASP.NET Hosting Tutorial – Tips to configuration ASP.NET MVC 4 on a Windows Azure Website

5/5 - (1 vote)

CheapWindowsHosting.com | Best and Cheap ASP.NET hosting. The new Windows Azure Website feature is easy to use. You can deploy an application by publishing from  Visual Studio or by pushing code with git. There are a few extra configuration steps I’ve found useful. 

image-axd

Using HTTP PUT and DELETE with the ASP.NET WebAPI

Best OFFER Cheap ASP.NET 5 Hosting ! Click Here

Using PUT and DELETE with Azure (or IIS, or IIS Express for that matter) requires some extra configuration before the server will allow messages with these methods into the processing pipeline. By default, IIS will only allow GET, HEAD, POST, and DEBUG. The following configuration section goes inside of <system.webserver>, and will tell IIS to process PUT and DELETE, too.

Note: the final release version of ASP.NET MVC 4 will include this configuration in web.config by default when you create a new project*, but it is still handy for upgrades and to generally know why it exists.

<handlers>
  <remove name="ExtensionlessUrl-Integrated-4.0" />
  <add name="ExtensionlessUrl-Integrated-4.0"
       path="*."
       verb="GET,HEAD,POST,DEBUG,DELETE,PUT"
       type="System.Web.Handlers.TransferRequestHandler"
       preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>

The Usual HTML 5 Media Types

Before IIS will serve a static file it needs to know the media type associated with the file. Video and SVG files were refusing to work until I added the following (also in the <system.webserver> section of web.config):

<staticContent>
  <remove fileExtension=".mp4"/>
  <remove fileExtension=".ogv"/>
  <remove fileExtension=".webm"/>
  <remove fileExtension=".svg"/>      
  <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
  <mimeMap fileExtension=".ogv" mimeType="video/ogg" />
  <mimeMap fileExtension=".webm" mimeType="video/webm" />
  <mimeMap fileExtension=".svg" mimeType="image/svg+xml"/>
</staticContent>

The <remove> entries will allow the configuration to work even on local servers that already have the media types configured (you’ll have a runtime error if you add a duplicate entry, but there is no error if you remove an entry that doesn’t exist).

Automatic Migrations

Finally, if you are using Code First Entity Framework migrations you can have them execute automatically after a release push by adding  to the Web.Release.config file. Web.config transformations even work with git deployments to Azure.

<entityFramework>
    <contexts xdt:Transform="Insert">
      <context type="EmployeeApp.EmployeeDb, MvcApplication10">
        <databaseInitializer
          type="System.Data.Entity.MigrateDatabaseToLatestVersion`2[
              [EmployeeApp.EmployeeDb,MvcApplication10], 
              [MvcApplication10.Migrations.Configuration, MvcApplication10]
            ], EntityFramework" />
      </context>
    </contexts>
</entityFramework>

Of course you’ll need to substitute your own DbContext and Configuration types as the generic type parameters to MigrateDatabaseToLatestVersion.

Note :  MVC 4 will also configure ExtensionlessUrlHandler-ISAPI-4.0_32bit and ExtensionlessUrlHandler-ISAPI-4.0_64bit.

About the Author

Alexia Pamelov administrator

    Leave a Reply