Asp.net web api 来自测试程序集的Web API自托管

Asp.net web api 来自测试程序集的Web API自托管,asp.net-web-api,self-hosting,Asp.net Web Api,Self Hosting,我目前正在为即将开始的新项目评估WebAPI和NancyFx。我已经设法让Nancy从一个测试程序集(它本身使用asp.net托管)自我托管 有没有办法用Web API实现同样的功能?我希望将WebAPI项目托管在IIS上,但我希望从测试程序集中启动它,以便对其运行测试 我发现了一些关于如何使用Autofac扫描来自另一个程序集的控制器的博客文章(看起来有点倒退,只是为了让来自另一个程序集的主机正常工作,但如果可以,我想这将是一个选项),但我想在这个项目中继续使用Structuremap ioc

我目前正在为即将开始的新项目评估WebAPI和NancyFx。我已经设法让Nancy从一个测试程序集(它本身使用asp.net托管)自我托管

有没有办法用Web API实现同样的功能?我希望将WebAPI项目托管在IIS上,但我希望从测试程序集中启动它,以便对其运行测试


我发现了一些关于如何使用Autofac扫描来自另一个程序集的控制器的博客文章(看起来有点倒退,只是为了让来自另一个程序集的主机正常工作,但如果可以,我想这将是一个选项),但我想在这个项目中继续使用Structuremap ioc。

在来自的帮助下成功地使其正常工作。这就是我在测试程序集中得到的结果

    private static HttpSelfHostServer _server;

    [BeforeTestRun]
    public static void Setup()
    {
        var config = new HttpSelfHostConfiguration(Settings.TestUri);
        WebApiConfig.Register(config); //map routes
        IocConfig.Bootstrap(config); //configure dependency injection
        _server = new HttpSelfHostServer(config);
        _server.OpenAsync().Wait();
    }

    [AfterTestRun]
    public static void TearDown()
    {
        _server.CloseAsync().Wait();
    }

这个问题包括你想要的吗?特别是strathweb链接(集成测试与内存托管),您能告诉我如何让nancy自行托管您的测试程序集吗?我的尝试正好相反。我有一个自托管项目,我正试图让另一个项目(ASP.NET托管)来托管它。