Asp.net core ServiceStackHost.Instance已设置(BasicAppHost)
我正在使用xunit运行测试。它一个接一个地工作正常,但一旦我并行运行它们,servicestack就会抛出异常Asp.net core ServiceStackHost.Instance已设置(BasicAppHost),asp.net-core,servicestack,xunit,Asp.net Core,servicestack,Xunit,我正在使用xunit运行测试。它一个接一个地工作正常,但一旦我并行运行它们,servicestack就会抛出异常 System.IO.InvalidDataException : ServiceStackHost.Instance has already been set (BasicAppHost) at ServiceStack.ServiceStackHost.Init() in C:\BuildAgent\work\799c742886e82e6\src\ServiceStack
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();
System.IO.InvalidDataException:ServiceStackHost.Instance已设置(BasicAppHost)
在C:\BuildAgent\work\799c742886e82e6\src\ServiceStack\ServiceStackHost.cs中的ServiceStack.ServiceStackHost.Init()处:第175行
appHost=new BasicAppHost(typeof(appHost).GetAssembly())
{
ConfigureContainer=容器=>
{
集装箱。登记(
新的OrmLiteConnectionFactory(“:memory:”,sqlitedialent.Provider));
}
}
.Init();
一次只能为每个AppDomain初始化一个AppHost。如果要并行运行初始化新AppHost的测试,则必须在单独的AppDomain中运行这些测试。您可以使用ICollectionFixture
在类似BaseFixture的类中初始化appHost
请参见此处的示例: