同一台服务器上的多个自托管Web api

时间:2014-11-01 06:01:07

标签: asp.net-web-api self-hosting

我想在同一台机器/ Windows 2k8服务器上托管多个自托管的webapi以及该网站。为了托管网站我使用IIS。对于webapi,我将使用自托管webapi 2.如何使用自托管webapi进行配置,以便一切都可以在同一台服务器上同步工作。

让我们说我将在http://example.com/mysite主持该网站,我将在http://example.com/apiwshttp://example.com/apiui

主持该网站

我正在使用Windows服务进行配置。这就是web-api自托管的样子 - 就像第一个webapi一样。

    protected override void OnStart(string[] args)
    {
        _config = new HttpSelfHostConfiguration(ServiceAddress);

        _config.MapHttpAttributeRoutes();

        _config.Routes.MapHttpRoute("DefaultApi",
            "apiws/{controller}/{id}",
            new { id = RouteParameter.Optional });

        _server = new HttpSelfHostServer(_config);

        _server.OpenAsync().Wait();
    }

第二台服务器的配置几乎相同。

我的问题是让所有人都在同一个端口上工作,这可能吗?有什么问题可能会出现吗?等?

1 个答案:

答案 0 :(得分:2)

你将web-api与mvc混淆。

MVC / IIS /网站需要在子域上托管域名。 webapi只是用于收听请求并提供数据响应。