title: Web API self-host vs. Web API wrapped around Windows service
body: <p>I'm building a messaging application that needs to receive messages from the web. Originally I was going to run this application as a Windows service and have a web wrapper using ASP.NET MVC that could be accessed by clients to send messages to the application. But I am now learning about the Web API which is much better suited for this task but the question remains whether it makes more sense to include the base application as part of the Web API self-host framework or if I should leave it as a Windows service and wrap a Web API application around it. </p>
  
  <p>Is there really a difference? Was the Web API designed to combine the concept of a service layer and a web interface into a single framework? I'm not sure how scalable/robust a self-hosted application can be compared to a Windows service. Will the Web API self-host method limit me in any way that the service method won't? What about a Web API application hosted inside IIS such that my base application will be running inside IIS? I'm not sure of the specifics of performance that I need (such as memory or CPU) at this point so would it be easier to start with IIS and then if needed, convert it into a self-hosted/windows service if the need be? I hope these questions make sense (although I'm not sure if they do).</p>
  
  <p>I'm new to Web API so I'm just trying to wrap my head around these concepts. </p>