Blog: Posts from June, 2014

Posts from June, 2014
Wednesday, June 18, 2014PrintSubscribe
Deployment: Overview

The application generator launches a web browser when the app is generated and when developers select the Browse button in the Project Designer. Simultaneously, an instance of IIS Express is started with instructions to serve requests to the folder with the source code of the generated app. The launched browser is navigating to the URL served by that instance of IIS Express.

Web app with Touch UI served by IIS Express in Internet Explorer on the development machine.

IIS Express is the development version of Internet Information Services (IIS), a component of Microsoft Windows operating system designed to host web sites and applications.

If you want to try your app on other computers or mobile devices, then you will have to deploy the app to a production version of IIS. IIS Express does not allow serving remote requests from external devices.

IIS is a built-in component of Microsoft Windows 7, 8, and Microsoft Windows Server 2008, 2012.

This is how your app will look on remote devices once you have deployed it to IIS.

Map view of an app with Touch UI rendered in iPhone 5S.     Context menu of an app with Touch UI rendered in iPhone 5S.

Responsive grid view of an app with Touch UI rendered in iPad Air.

Complex master-detail page of an app with Touch UI rendered in iPad Air.

In order to prepare a machine for web hosting, a full installation of IIS must be performed. In addition, the host must have the correct version of ASP.NET (and optionally Report Viewer) installed, HTTP firewall port must be opened, and the web app must be configured as an IIS application.

Local Deployment

The easiest way to deploy your app is on your own development machine which typically runs Windows 7 or 8. This will allow you to test the app on mobile devices and allow coworkers on the same network to see it as well. You can also do this at home, in a café, or an airplane if you enable a Wi-Fi Hotspot on your laptop.


  1. Install Prerequisites for Windows 7 / Windows 8
  2. Copy App to Server
  3. Install Report Viewer 2012 (Optional)
  4. Configuring App in IIS
  5. Opening Firewall Ports
  6. Accessing the Web App

Dedicated Server Deployment

The traditional method of app deployment requires a dedicated web server. You can purchase your own server or acquire a hosted virtual machine. The examples used for the next few articles will be using Microsoft Azure Virtual Machines (VMs) hosted in Microsoft data centers around the world. Anyone in the world will have access to your production app, provided that they know the URL.


  1. Acquire a server (such as Windows Azure VM)
  2. Install Prerequisites for Windows Server 2008 / Windows Server 2012
  3. Copy App to Server
  4. Install Report Viewer 2012 (Optional)
  5. Configuring App in IIS
  6. Accessing the Web App

App Service Deployment

Microsoft Azure offers a convenient way to package and publish apps without configuration of dedicated servers called an App Service. Code On Time web apps can be deployed as an app service directly from Visual Studio.

Wednesday, June 18, 2014PrintSubscribe
Windows Azure Virtual Machines

One quick way of getting your app deployed online is to set up a Windows Azure Virtual Machine (VM). These VMs offer the benefit of a full-fledged Windows Server machine without the hassle of dealing with electricity and cooling costs, storing a computer on-premise, or dealing with network configuration. They also offer the additional benefits of a very fast internet connection and easy scalability. 

Getting a new Azure Virtual Machine

Let’s set up a new Azure VM for a Northwind web app created with Code On Time generator.

Navigate to and click on Portal in the top right corner of the screen. Enter your credentials and log in.

In the bottom left corner of the page, press New. Select Compute | Virtual Machine | Quick Create. Enter the DNS name and select the server image from the dropdown. Make sure to select the correct size as needed, as pricing is different for each one. Finally, enter the administrator credentials and select Create a Virtual Machine.

Creating a new WIndows Azure Virtual Machine.

The virtual machine will be created in a few minutes. You can watch progress by clicking on the Virtual Machines section of the site.

Waiting for the virtual machine to start.

Once the virtual machine is online, click on the VM in the list, and select CONNECT on the bottom action bar.

Downloading the rdp file for the virtual machine.

Confirm to save the downloaded *.rdp file, and open the file to start connecting to your VM using Remote Desktop Connection. Enter the previously specified username and password, and press OK.

Entering credentials for the remote virtual machine.

Confirm that you want to connect to a computer without a certificate, and you will be connected.

The virtual machine desktop accessible using Remote Desktop Connection.

Enabling HTTP Traffic to the Azure VM

In order for your application to be visible on the internet, you must enable HTTP traffic.

Switch back to the Microsoft Azure Portal. Click on the name of the virtual machine to access the properties. At the top of the page, click on ENDPOINTS tab. On the bottom action bar, press ADD.

Adding a new endpoint to the virtual machine.

Select “ADD A STAND-ALONE ENDPOINT” and press the right arrow.

Adding a new endpoint to the virtual machine.

Click on the dropdown in the NAME field and select “HTTP”. Then, press the checkmark to save the endpoint.

Adding an HTTP endpoint - TCP port 80.

You can now deploy your web app to this server.

Monday, June 16, 2014PrintSubscribe
Deployment: Prerequisites for Windows Server 2012 R2

Press the Start key on your keyboard, and start typing “features”. In the search results pane, select “Turn windows features on or off”.

Turning Windows features on in Windows Server 2012 R2.

This will open the Add Roles and Features Wizard. Press Next to continue past the Before you Begin page.

The first page of the Add Roles and Features wizard.

Select “Role-based installation” and press Next.

Selecting the installation type.

Select the local server, and press Next again.

Selecting the server to add roles to.

Check the box next to “.NET Framework 4.5 Features | ASP.NET 4.5”.

Enabling ASP.NET 4.5 Features.

Select “Web Server (IIS)” from the list, and click Add Features button to finish.

Adding the Web Server (IIS) Role.

Expand “Web Server (IIS) | Web Server | Application Development” node, and check the nodes “Application Development”, “.NET Extensibility 4.5”, “Application Initialization”, “ASP.NET 4.5”, “ISAPI Extensions”, and “ISAPI Filters”.

Enabling the required application development roles.

Continue pressing Next, then press Install when necessary. This step may take some time.

Installing the roles onto the server.

Once complete, press Close to exit the wizard.

The role installation has been completed.