2011-01-20 120 views
0

我使用SolrNet与vb.net 2.0,似乎无法实例solr。SolrNet - 给定的密钥不存在于字典

昏暗的solr作为ISolrOperations(OF PMWProperty)= ServiceLocator.Current.GetInstance(OF PMWProperty)()

抛出异常:

[KeyNotFoundException:给定的键不存在在词典] System.ThrowHelper.ThrowKeyNotFoundException()28 System.Collections.Generic.Dictionary`2.get_Item(TKEY的键)7456108 SolrNet.Utils.Container.DoGetInstance(类型的serviceType,String键)22个 Microsoft.Practices。 ServiceLocation.ServiceLocatorImplBase.GetInstance(类型serviceType,字符串键)+47

: Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(类型的serviceType,串键)+104 Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase [ActivationException激活错误尝试获取类型PMWProperty, “” 键的情况下发生] .GetInstance()+5

我有一个PMWProperty类,只有几个字段与我的solr模式匹配。我可以通过solr url运行查询就好(localhost:8983/solr),但无法在我的代码中运行。

它看着什么关键?例外似乎说关键是“”,但它应该是什么?为什么我需要钥匙?

+0

您正在使用什么版本SolrNet的?你可以发布你的初始化代码吗? – 2011-01-21 01:24:27

+0

可空字段类型问题检查[this](http://stackoverflow.com/a/23090082/1166597) – OldTrain 2014-04-15 17:20:53

回答

0

你需要得到ISolrOperations(Of PMWProperty)从服务定位器,而不是PMWProperty,所以代码应该是这样的:

Dim solr As ISolrOperations(Of PMWProperty) = ServiceLocator.Current.GetInstance(Of ISolrOperations(Of PMWProperty))() 
相关问题