0

我将 SolrNet 与 vb.net 2.0 一起使用,但似乎无法实例化 solr。

Dim solr As IsolrOperations(Of PMWProperty) = ServiceLocator.Current.GetInstance(Of PMWProperty)()

抛出异常:

[KeyNotFoundException: 给定的键不在字典中。] System.ThrowHelper.ThrowKeyNotFoundException() +28 System.Collections.Generic.Dictionary`2.get_Item(TKey key) +7456108 SolrNet.Utils.Container.DoGetInstance(Type serviceType , String key) +22 Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(Type serviceType, String key) +47

[ActivationException:尝试获取 PMWProperty 类型的实例时发生激活错误,键“”] Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(Type serviceType, String key) +104 Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance() +5

我有一个 PMWProperty 类,其中只有几个与我的 solr 模式匹配的字段。我可以很好地通过 solr url 运行查询(localhost:8983/solr),但不能让它在我的代码中工作。

它在看什么键?异常好像说key是"",但是应该是什么?为什么我需要钥匙?

4

1 回答 1

0

您需要ISolrOperations(Of PMWProperty)从服务定位器中获取,而不是PMWProperty,因此代码应如下所示:

Dim solr As ISolrOperations(Of PMWProperty) = ServiceLocator.Current.GetInstance(Of ISolrOperations(Of PMWProperty))()
于 2011-01-21T19:25:39.203 回答