I have a web application (hosted in IIS) that talks to a Windows service. The Windows service is using the ASP.Net MVC Web API (self-hosted), and so can be communicated with
You can configure HttpClient to automatically pass credentials like this:
HttpClient
var myClient = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true });