问题
I can't seem to figure out how to define a object as a singleton AND define two arguments for the constructor.
I can do either / or .. just not at the same time.
Eg. (this doesn't work)...
ForRequestedType<IFoo>()
.TheDefaultIsConcreteType<Foo>()
.CacheBy(InstanceScope.Singleton)
.WithCtorArg("alpha").EqualToAppSetting("Alpha")
.WithCtorArg("beta").EqualToAppSetting("Beta");
Suggestions?
回答1:
You are very close. The trick is that you need to use the alternate default DSL language TheDefault.Is.OfConcreteType
ForRequestedType<IFoo>()
.CacheBy(InstanceScope.Singleton)
.TheDefault.Is.OfConcreteType<Foo>()
.WithCtorArg("alpha").EqualToAppSetting("alpha")
.WithCtorArg("beta").EqualToAppSetting("beta");
来源:https://stackoverflow.com/questions/1600759/with-structuremap-is-it-possible-to-make-a-singleton-object-and-provide-construc