public class BasicAuthOperationsProvider : ISolrOperationsProvider
{
private string _user;
private string _password;
public BasicAuthOperationsProvider(string user, string password)
{
_user = user;
_password = password;
}
public ISolrBasicOperations<T> GetBasicOperations<T>(string url, bool isPostConnection = false)
{
var conn = new SolrConnection(url)
{
HttpWebRequestFactory = new BasicAuthHttpWebRequestFactory(_user, _password)
};
return SolrNet.SolrNet.GetBasicServer<T>(conn);
}
public ISolrOperations<T> GetOperations<T>(string url, bool isPostConnection = false)
{
var conn = new SolrConnection(url)
{
HttpWebRequestFactory = new BasicAuthHttpWebRequestFactory(_user, _password)
};
return SolrNet.SolrNet.GetServer<T>(conn);
}
}
SolrNet.Cloud.Startup.InitAsync<SolrDoc>(new SolrCloudStateProvider("localhost:9983"), "nextore").Wait();
SolrNet.Startup.Container.Remove<ISolrOperationsProvider>();
SolrNet.Startup.Container.Register<ISolrOperationsProvider>(c => new BasicAuthOperationsProvider("solr", "SolrRocks"));
var solr = ServiceLocator.Current.GetInstance<ISolrOperations<SolrDoc>>();