使用StructureMap 2.6.4。
我已经在SO和其他地方看到过两次注册服务两次将导致最后一次注册的实现"赢得"作为默认值。
从我的测试中,使用WhatDoIHave,似乎恰恰相反。如果我这样做:
For<IMyService>().Singleton().Use<MyService>();
For<IMyService>().Use<MyService>();
我的服务似乎仍然是单身人士。
我真正的问题围绕扫描和自动注册。我需要一些注册为单身的特定服务,并希望通过约定(瞬态)注册我的其余服务。那么我应该先注册还是最后一次?
For<IMyService>().Singleton().Use<MyService>();
Scan(
scan =>
{
scan.WithDefaultConventions();
scan.TheCallingAssembly();
});
如果可能,请引用文档,因为我看到的答案似乎与我的(可能有缺陷的)测试相冲突。