Je voudrais modifier ma solution pour qu'elle s'exécute sous une instance OWIN auto-hébergée, mais je dois également l'exécuter sous http://localhost si nécessaire.Projet OWIN auto-hébergeant et hébergeant IIS
Comment dois-je structurer ma classe de démarrage pour qu'elle soit reconnue par les deux?
Actuellement, j'ai le projet API Web défini comme une application console avec l'URL du projet http://localhost:2746 et ceci est ma classe de démarrage:
[assembly: OwinStartup(typeof(Startup))]
namespace Books
{
public class Startup
{
public static void Main(string[] args)
{
const int port = 2746;
var url = $"http://localhost:{port}/";
using (WebApp.Start<Startup>(new StartOptions(url) { ServerFactory = "Microsoft.Owin.Host.HttpListener" }))
{
var client = new HttpClient { BaseAddress = new Uri(url) };
Console.ReadLine();
}
}
public void Configuration(IAppBuilder app)
{
HttpConfiguration httpConfiguration = new HttpConfiguration();
WebApiConfig.Register(httpConfiguration);
app.Use<CustomExceptionMiddleware>().UseWebApi(httpConfiguration);
app.UseFileServer(StaticFileConfig.Build());
}
}
}
J'ai aussi cela dans le web.config:
<add key="owin:AutomaticAppStartup" value="false" />