The report server would be a very usefull addition for my customers.
It would be great to self host the report server as an owin middleware.
Use OWIN to Self-Host ASP.NET Web API - ASP.NET 4.x | Microsoft Learn
Here is a greate start on how to write a middleware How to write OWIN middleware in 5 different steps - Ben Foster
I already use an self hosted owin instance (multiple instances) per customer and the requirement would be to have a seperated report server for every instances without having to install the report server on a dedicated server.
Preferable this would be a nuget package that provides the dependencies to have a running report server up in 5 minutes.
Here is some sample code how I could imagine the startup code.
I included a ListLabelFactory configuration property that could be responsible of constructing the List&Label instance which is used by report server internally. This way I could register designer functions and objects for the report server.
public class Program { static void Main(string[] args) { string url = "http://localhost:8080"; using (WebApp.Start(url)) { Console.WriteLine("Server running on {0}", url); Console.ReadLine(); } } } class Startup { public void Configuration(IAppBuilder app) { var config = new ReportServerConfig { BasePath ="/combitReportServer", ProviderName:="...", ConnectionString:="...", ListLabelFactory = new MyListLabelFactory(), }; app.UseReportServer(config); } }