我正在使用简单的喷射器,用于。在我的INotificationHandlers自动布线期间,我允许在不同的具体实现中使用不同的生活方式,如下所示:
public static Lifestyle GetLifestyleForType(
Type type, Container container, Dictionary<Type,Lifestyle> list = null)
{
if (list is null) return container.Options.DefaultLifestyle;
return list.TryGetValue(typ
我有以下代码:
public interface IService { }
public class MyService : IService { }
以及一种测试方法
[Test]
public void T1()
{
IWindsorContainer container = new WindsorContainer();
container.Register(Component.For<IService>()
.ImplementedBy<MyService>());
var s1 = container.Resolve
语境
我知道SimpleInjector的LifestyleMismatch异常的用途以及它抛出它的原因。但应该有:
Players.dll
public abstract class PlayerEqualizer { ... }
public abstract class Player : IPlayer, ISongAware
{
public Player(PlayerEqualizer eq)
{
Equalizer = eq;
}
public PlayerEqualizer Equalizer { get; }
publ
不太熟悉温莎容器,修改别人编写的代码。我们有初始化WindsorContainer中所有对象的代码,它具有PgDataAccess (类)数据类型属性。
public PgDataAccess da { get; set; }
代码如下:
_windsorContainer.Register(Component.For<PgDataAccess>().UsingFactoryMethod(() =>
{
var dataAccess = new PgDataAccess();
dataAccess.Con
我试图配置简单的注射器工作,但我似乎不能通过这个。我遵循了关于如何在这个中修复这个问题的说明,但是它没有起作用。以下是错误消息:
NotificationEntities注册为瞬态,但实现了IDisposable。
下面是SimpleInjectorInitializer.cs的代码
public static void Initialize()
{
var container = new Container();
container.Options.DefaultScopedLifestyle = new WebRequestLifestyle();
Ini
如何对WcfOperationLifestyle容器的注入进行单元测试?在我的MyBootstrapper课上
container = new Container();
container.Options.DefaultScopedLifestyle = new WcfOperationLifestyle();
...
container.Register<IService, Service>(Lifestyle.Scoped);
根据,但是当我进行单元测试时
var actual = MyBootstrapper.Container.GetInstance<ISer
我的应用程序使用实体框架。由于我希望在单个请求中重用我的DbContext,所以我将其注册为Lifestyle.Scoped,如下所示:
container.Register<MyDbContext>(Lifestyle.Scoped);
其他类会注入这个MyDbContext。例如,请参阅以下存储库:
ApplicationsRepository是:
public class ApplicationsRepository : IApplicationsRepository
{
private readonly MyDbContext _dbContext;
pu