//public SessionMessageFactory() // : this(_configuration["sessionMessageFactoryTypeName"]) //{ //} public ISessionMessageProvider CreateInstance() { var providers = _serviceProvider.GetService <IEnumerable <ISessionMessageProvider> >(); ISessionMessageProvider provider = null; if (providers != null) { provider = providers.FirstOrDefault(o => o.GetType() == _type); } if (provider == null) { throw new Exception(string.Format("Cannot find type {0}", _type.Name)); } return(provider);//Activator.CreateInstance(_type) as ISessionMessageProvider; }
public SessionMessageManager(ISessionMessageFactory sessionMessageFactory) { _sessionMessageFactory = sessionMessageFactory; _provider = sessionMessageFactory.CreateInstance(); }