2011-01-20 2 views
0

Я использую SolrNet с vb.net 2.0 и не могу создать экземпляр solr.SolrNet - данный ключ отсутствовал в словаре

дим Solr Как ISolrOperations (из PMWProperty) = ServiceLocator.Current.GetInstance (Из 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

[ActivationException: Ошибка активации произошла при попытке получить экземпляр типа PMWProperty, ключ ""] Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance (тип ServiceType, String ключ) +104 Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase .GetInstance() +5

У меня есть класс PMWProperty с несколькими полями, которые соответствуют моей схеме solr. Я могу запускать запросы через solr url просто отлично (localhost: 8983/solr), но не могу заставить его работать в моем коде.

На что он смотрит? Исключение, похоже, говорит о том, что ключ является «», но что это должно быть? Зачем мне нужен ключ?

+0

Какую версию SolrNet вы используете? Можете ли вы опубликовать свой код инициализации? –

+0

nullable field type выпуск проверка [этот] (http://stackoverflow.com/a/23090082/1166597) – OldTrain

ответ

0

Вы должны получить ISolrOperations(Of PMWProperty) от локатора службы, не PMWProperty, так что код должен выглядеть следующим образом:

Dim solr As ISolrOperations(Of PMWProperty) = ServiceLocator.Current.GetInstance(Of ISolrOperations(Of PMWProperty))() 
+0

У меня есть аналогичная проблема: http://stackoverflow.com/questions/20905288/the-given-key-was- не-настоящее-в-словаре-solrnet – FrenkyB

Смежные вопросы