{"action":"created","issue":{"url":"https://api.github.com/repos/aspnet/Hosting/issues/889","repository_url":"https://api.github.com/repos/aspnet/Hosting","labels_url":"https://api.github.com/repos/aspnet/Hosting/issues/889/labels{/name}","comments_url":"https://api.github.com/repos/aspnet/Hosting/issues/889/comments","events_url":"https://api.github.com/repos/aspnet/Hosting/issues/889/events","html_url":"https://github.com/aspnet/Hosting/issues/889","id":191520788,"number":889,"title":"Extra layer of abstraction: the HostBuilder","user":{"login":"joelharkes","id":2960938,"avatar_url":"https://avatars.githubusercontent.com/u/2960938?v=3","gravatar_id":"","url":"https://api.github.com/users/joelharkes","html_url":"https://github.com/joelharkes","followers_url":"https://api.github.com/users/joelharkes/followers","following_url":"https://api.github.com/users/joelharkes/following{/other_user}","gists_url":"https://api.github.com/users/joelharkes/gists{/gist_id}","starred_url":"https://api.github.com/users/joelharkes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joelharkes/subscriptions","organizations_url":"https://api.github.com/users/joelharkes/orgs","repos_url":"https://api.github.com/users/joelharkes/repos","events_url":"https://api.github.com/users/joelharkes/events{/privacy}","received_events_url":"https://api.github.com/users/joelharkes/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":14,"created_at":"2016-11-24T13:30:51Z","updated_at":"2016-11-25T21:07:50Z","closed_at":null,"body":"Im missing a layer of abstraction in the WebHostBuilder and the abstraction is already in the name: (web)HostBuilder.\r\n\r\nFor example: We are building console applications that listen to rabbitMq.\r\n\r\nWhat i would like to do is:\r\n```\r\nnew HostBuilder()\r\n    .UseRabbitMq()\r\n    .Build()\r\n    .Run();\r\n```\r\n\r\nInstead i have to build completely my own architecture, by doing this, building what thousands of other people probably have done before.\r\n\r\nI think there should be a `HostBuilder` class providing functionality for other Hosts like Message queue listeners or other listeners. Now i see the IServer is thight to a (very generic) `IHttpApplication`. hard linking it to HTTP requests.\r\n\r\nI get that kestrel listens to HTTP request, but a rabbitMq listens to something totally different. (probably someting like a RabbitMq request containing the rabbit message).\r\n\r\nWhy is there no abstraction provided for this?"},"comment":{"url":"https://api.github.com/repos/aspnet/Hosting/issues/comments/263022539","html_url":"https://github.com/aspnet/Hosting/issues/889#issuecomment-263022539","issue_url":"https://api.github.com/repos/aspnet/Hosting/issues/889","id":263022539,"user":{"login":"andriysavin","id":12996633,"avatar_url":"https://avatars.githubusercontent.com/u/12996633?v=3","gravatar_id":"","url":"https://api.github.com/users/andriysavin","html_url":"https://github.com/andriysavin","followers_url":"https://api.github.com/users/andriysavin/followers","following_url":"https://api.github.com/users/andriysavin/following{/other_user}","gists_url":"https://api.github.com/users/andriysavin/gists{/gist_id}","starred_url":"https://api.github.com/users/andriysavin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andriysavin/subscriptions","organizations_url":"https://api.github.com/users/andriysavin/orgs","repos_url":"https://api.github.com/users/andriysavin/repos","events_url":"https://api.github.com/users/andriysavin/events{/privacy}","received_events_url":"https://api.github.com/users/andriysavin/received_events","type":"User","site_admin":false},"created_at":"2016-11-25T21:07:50Z","updated_at":"2016-11-25T21:07:50Z","body":"@cwe1ss I didn't have time to look into the sources, but the concept looks exactly like what I want. My thinking is that ASP.NET Core has many ice APIs which could be useful in non-ASP.NET projects. Generally, almost every program needs configuration, logging an DI. Just like UWP, WPF, WinForms, etc. have their Application objects which are initialized in every app and the code is generated by the VS templates, .Net Core apps should have similar concept which can be viewed as a higher level Main(). Btw, if I'm not mistaking, during the DNX era the app entry point supported DI, didn't it?"}}
{"actor":{"display_login":"andriysavin"}}