public virtual Task <TService> CreateAsync(TParameter parameter, ContentType contentType, CancellationToken cancellationToken) { if ((ContentType)null == contentType) { throw new ArgumentNullException("contentType"); } IContentServiceFactoryInstance <TService, TParameter> factory = this._factoryFinder.GetFactory(contentType); if (null != factory) { return(factory.CreateAsync(parameter, contentType, cancellationToken)); } return(ContentServiceFactory <TService, TParameter> .NoHandler); }
public void Register(ContentType contentType, IContentServiceFactoryInstance <TService, TParameter> factory) { this.SafeChangeFactories((Action <Dictionary <ContentType, IContentServiceFactoryInstance <TService, TParameter> > >)(factories => factories[contentType] = factory)); }