1
我使用統一的,在我的註冊版本3.5.1404.0我有第一批量註冊默認爲分層覆蓋統一批量註冊分配不同lifetimemanager
container.RegisterTypes(
AllClasses.FromAssemblies(false,
new[]
{
Assembly.GetAssembly(typeof (IMyService<>))
})
, WithMappings.FromMatchingInterface,
WithName.Default,
WithLifetime.Hierarchical);
後跟一個單個映射登記重寫壽命經理(Hiararchical)分配給我的服務。
container.RegisterType<IMyService<SomeEntity>, MyCustomService<SomeEntity>>(new TransientLifetimeManager());
但是,當我在單元測試中檢查註冊時,LifetimeManager是分層的。
// this assertion fails
registration.LifetimeManagerType.Should().Be(typeof(TransientLifetimeManager));
有沒有辦法強制使用TransientLifetimeManager?
嘗試使用'RegisterInstance'(而不是'RegisterType')它應該重寫註冊。 – Michael
我無法重現您的問題。當我嘗試它時,終身管理器是'TransientLifetimeManager'。你確定你正在檢查正確的註冊項目嗎? –
RegisterInstance使用不同的LifetimeManager(ContainerController)。所以我不能使用它。 –