2017-07-26 62 views
1

我正在使用xunit来运行测试。一个接一个,它工作得很好,但是一旦我并行运行它,servicestack会抛出异常。ServiceStackHost.Instance已被设置(BasicAppHost)

System.IO.InvalidDataException : ServiceStackHost.Instance has already been set (BasicAppHost) 
    at ServiceStack.ServiceStackHost.Init() in C:\BuildAgent\work\799c742886e82e6\src\ServiceStack\ServiceStackHost.cs:line 175  

appHost = new BasicAppHost(typeof(AppHost).GetAssembly()) 
       { 
        ConfigureContainer = container => 
        { 
         container.Register<IDbConnectionFactory>(
          new OrmLiteConnectionFactory(":memory:", SqliteDialect.Provider)); 
        } 
       } 
       .Init(); 

回答

2

在任何时候,您只能为每个AppDomain初始化一个AppHost。如果您要并行运行测试来初始化新的AppHost,它们必须在单独的AppDomain中运行。