从CI删除owin url注册

时间:2016-07-14 14:04:33

标签: teamcity owin

我有以下OWIN实现来在CI上运行我的功能测试

    protected const string Url = "http://localhost:8785";
    private static IDisposable _app;

    Establish context = () => _app = WebApp.Start(Url, a =>
    {
        a.Use(typeof(MockIdentityMiddleware));
        new Startup().Configuration(a);
    });

    Cleanup after = () => _app.Dispose();

但是当它运行时,我得到以下堆栈跟踪:

  

System.Net.HttpListenerException:无法侦听前缀   'http://localhost:8785/'因为它与现有的冲突   在机器上注册。

我想以编程方式删除该端口的注册,因此我不必再担心但不确定如何使用Owin。

1 个答案:

答案 0 :(得分:1)

您不应该在测试中硬编码端口号,因为您永远无法确定端口是否空闲。

有一个非常简单的代码,允许在给定的机器上找到下一个空闲的TCP端口https://stackoverflow.com/a/150974/295582