title: Error "CommentsController does not have a default constructor"
body: <p>Problem:
  I'm using MVC4 WebAPI and am throwing an error during a Get() call.</p>
  
  <p>Error:</p>
  
  <blockquote>
    <p>System.ArgumentException: Type 'Comments2.Controllers.CommentsController' does not have a default constructor</p>
  </blockquote>
  
  <p>StackTrace:</p>
  
  <pre><code>at System.Linq.Expressions.Expression.New(Type type)
  at System.Web.Http.Internal.TypeActivator.Create[TBase](Type instanceType)
  at System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create(HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor, Type controllerType)"}
  </code></pre>
  
  <p>I'm happy to give any code required simply let me know what you'd like to see.</p>
  
  <p>Controller:</p>
  
  <pre><code>namespace Comments2.Controllers 
  {
      //[Authorize]
      public class CommentsController : ApiController 
      {
          ICommentRepository repository;
  
      public CommentsController(ICommentRepository repository) 
      {
          this.repository = repository;
      }
  
      [Queryable]
      public IQueryable&lt;Comment&gt; GetComments()
      {
          return repository.Get().AsQueryable();
      }
  
      public Comment GetComment(int id)
      {
          Comment comment;
          if (!repository.TryGet(id, out comment))
              throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound));
          return comment;
      }
  }
  </code></pre>
  
  <p>JavaScript:</p>
  
  <pre><code>$(function() {
      $("#getComments").click(function () {
          // We're using a Knockout model. This clears out the existing comments.
          viewModel.comments([]);
  
          $.get('/api/comments', function (data) {
              // Update the Knockout model (and thus the UI) with the comments received back 
              // from the Web API call.
              viewModel.comments(data);
          });
  
      });
  });
  </code></pre>