Reputation: 25
Using Solrnet in my .NET core project through dependency injection as -
services.AddSolrNet<T>("http://localhost:8983/solr");
And injecting it through ISolrOperations<T>
As opposed to how we do in .net framework Startup.Init<T>("http://localhost:8983/solr");
This calls the Startup.Init<T>
method and allows me to register my custom response parser at runtime which is not the case when I use depedency injection.
Any idea how to solve this ? I want to use DI but at run time, i wish to deregister default response parser and register my own. These lines work perfectly fine in .net framework -
SolrNet.Startup.Container.Remove<ISolrAbstractResponseParser<SolrResponse>>();
SolrNet.Startup.Container.Register<ISolrAbstractResponseParser<SolrResponse>>(c => new AggregateResponseParser<SolrResponse>(new ISolrAbstractResponseParser<SolrResponse>[]
{
new ResultsNestedResponseParser<SolrResponse>(new SolrNestedDocumentParser<SolrResponse>(c.GetInstance<ISolrDocumentPropertyVisitor>()))
}));
Upvotes: 2
Views: 377