私はこれを間違って使うことができたと思いますが、複数のコアのNinjectバリアントはあまりありませんでしたが、NinjectとSolrNetを使用しようとしています。完全な緩やかなマッピングを利用します。だから私はNinjectという名前のバインディングを使う必要があることを知っています。ウィンザーを使用することはできません.dllは現在のものとうまくやっていないようです。Ninjectを使用して複数のコアにアクセスするときにSolrNetで
疑わしいコード:プロデュース
SolrServers cores = new SolrServers();
cores.Add(new SolrServerElement
{
Id = "index1",
DocumentType = typeof(ISolrOperations<Dictionary<string, object>>).AssemblyQualifiedName,
Url = "http://localhost:8080/solr/index1",
});
cores.Add(new SolrServerElement
{
Id = "index2",
DocumentType = typeof(ISolrOperations<Dictionary<string, object>>).AssemblyQualifiedName,
Url = "http://localhost:8080/solr/index2",
});
var kernal = new StandardKernel(new SolrNetModule(cores));
var operations = kernal.Get<ISolrOperations<Dictionary<string, object>>>("index1");
がエラー:
Test 'Test.DifferentTest' failed:
Ninject.ActivationException : Error activating ISolrOperations{Dictionary{string, Object}}
No matching bindings are available, and the type is not self-bindable.
Activation path:
1) Request for ISolrOperations{Dictionary{string, Object}}
私はDIの概念を理解MVCにすべては私から隠れて見えたので、しかし、私はそれよりもはるかに多くを知りません。だからこそ、なぜこれがダムであるか/ソルネットがそれとどのようにやりとりするのかについての追加的な説明がありがたい。 SolrNetモジュールへ
がリンクはhttps://github.com/mausch/SolrNet/blob/master/Ninject.Integration.SolrNet/SolrNetModule.cs
質問にSolrNetModuleの実装を追加してください –