接口的IDependencyResolver有兩個方法GetService和GetServices,我實現,如:StructureMap MVC 3的IDependencyResolver
public class SmDependencyResolver : IDependencyResolver {
private readonly IContainer _container;
public SmDependencyResolver(IContainer container) {
_container = container;
}
public object GetService(Type serviceType) {
if (serviceType == null) return null;
try {
return serviceType.IsAbstract || serviceType.IsInterface
? _container.TryGetInstance(serviceType)
: _container.GetInstance(serviceType);
}
catch (Exception ex)
{
return null;
}
}
public IEnumerable<object> GetServices(Type serviceType) {
return _container.GetAllInstances<object>().Where(s => s.GetType() == serviceType);
}
}
但我也NEAD爲DependencyResolver的NamedInstace。 This ObjectFactory.GetNamedInstace(「instanceName」);集裝箱 我怎樣才能做到這一點..
對不起,我使用的IDependencyResolver界面我的英語不好