Web API Owin自托管多个应用程序

时间:2016-05-28 16:54:25

标签: owin self-hosting

我们正在尝试为多个应用程序(app1,app2)设置一个owin自托管服务。

我们希望使用IIS的相同行为,其中一个应用程序池为每个应用程序使用一个AppDomain。

以下是我们使用的代码:

using (WebApp.Start<WebServerStartup>(url: "http://localhost:9000/")) { ... }

...和WebServerStartup实现:

internal class WebServerStartup
{
    public void Configuration(IAppBuilder appBuilder)
    {
        // Configure Web API for self-host. 
        var config = new HttpConfiguration();
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

        appBuilder.UseWebApi(config);
    }

我们如何为每个应用程序使用多个AppDomain?有没有办法在可以共享同一端口的单独AppDomain中使用Webapp.Start(...)声明多个webapps?或者是否有某种方法可以通过定义app / api / {controller} / {id}而不是api / {controller} / {id}之类的路径将请求路由到各种应用程序域?

由于

1 个答案:

答案 0 :(得分:0)

没有内置支持在不同的域中运行应用程序。您希望启动每个新的AppDomain,然后在其中运行WebApp.Start。