title: How to host WebApi only for processing request form a `MVC` project
body: <p>For this new project we decied to use <code>ASP.NET MVC 4</code> as our presentaional layer and <code>WebApi 2</code> as service layer. The idea is - when the user interacts with the UI and some request is send, the MVC controller is recieving this call, and if some sort of information for the response, a call is made from the MVC controller to the <code>WebApi</code> where the <code>WebApi</code> is entirely different solution, and in theory it may not be on the same place physically with the <code>MVC</code> solution.</p>
  
  <p>For the MVC part I have this controller:</p>
  
  <pre><code>    public async Task&lt;ActionResult&gt; Index()
      {
  
          return View("index", await GetUserAsync());
      }
  
      readonly string uri = "http://localhost:51120/api/user";
  
      protected async Task&lt;List&lt;User&gt;&gt; GetUserAsync()
      {
  
          using (HttpClient httpClient = new HttpClient())
          {
  
              return JsonConvert.DeserializeObject&lt;List&lt;User&gt;&gt;(
                  await httpClient.GetStringAsync(uri)
              );
          }
      }
  </code></pre>
  
  <p>Then I created an <code>ASP.NET Empty Web Application</code> solution. When the solution was created I installed <code>WebApi 2</code> from <code>Nuget</code> so I had a pretty basic structure of my project. I manually created the <code>Controllers</code>, <code>Models</code> and <code>Views</code> directories. In <code>Controllers</code> I have one file :</p>
  
  <pre><code>public class UserController : ApiController
  {
      public List&lt;User&gt; GetStringAsync()
      {
          return new List&lt;User&gt; {new User { Name = "Peter", Age = 41}};
      }
  }
  </code></pre>
  
  <p>In <code>Models</code> I have this :</p>
  
  <pre><code>public class User
  {
      public string Name { get; set; }
      public int Age { get; set; }
  }
  </code></pre>
  
  <p>And when I right click on the <code>View</code> folder I chose to install an <code>Empty view (without model)</code>. So basically that is my setup. When I start the solution I get this :</p>
  
  <blockquote>
    <p>HTTP Error 403.14 - Forbidden The Web server is configured to not list
    the contents of this directory.</p>
    
    <p>Most likely causes: A default document is not configured for the
    requested URL, and directory browsing is not enabled on the server.</p>
  </blockquote>
  
  <p>And other stuff that I will post if neceessary. My question is - how can I do this. If I just create an MVC project with <code>WebApi</code> template I guess everything will work fine but then the whole point of doint this is missing. I want to be able to host the <code>WebApi</code> separately from the MVC solution, even physycally and only send and recieve calls.</p>