Я пытаюсь обновить до Sitecore 8.2 обновление 7 с Sitecore 8.1. Мы используем SimpleInjector
для внедрения зависимости. Так как мы используем Solr для поиска контента, у меня есть следующее в конвейере инициализации.
<pipelines>
<initialize>
<processor type="Sitecore.ContentSearch.SolrProvider.Pipelines.Loader.InitializeSolrProvider, Sitecore.ContentSearch.SolrProvider"/>
</initialize>
</pipelines>
Теперь существующие маршруты WebApi, которые у нас есть, не работают. Они также находятся внутри другого конвейера инициализации, который называется zz.Pipelines.Config
<pipelines>
<initialize>
<processor type="Api.Global, Api" />
</initialize>
</pipelines>
Это файл .cs
для Api.Global
using System.Diagnostics.CodeAnalysis;
using System.Web.Http;
using Sitecore.Pipelines;
namespace Api
{
public class Global
{
public void Process(PipelineArgs args)
{
GlobalConfiguration.Configure(WebApiConfig.Register);
}
}
}
Это ошибка, которую я вижу:
{
«Сообщение»: «Произошла ошибка.»,
"ExceptionMessage": "Произошла ошибка при попытке создать контроллер типа 'ContentItemDataController'. Убедитесь, что контроллер имеет открытый конструктор без параметров.",
«ExceptionType»: «System.InvalidOperationException»,
"StackTrace": "в System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create (запрос HttpRequestMessage, HttpControllerDescriptor controllerDescriptor, тип controllerType) \ r \ n в System.Web.Http.ControllerRecrollerControllerChlerChttp: n в System.Web.Http.Dispatcher.HttpControllerDispatcher.d__1.MoveNext () ",
«InnerException»: {
«Сообщение»: «Произошла ошибка.»,
"ExceptionMessage": "Тип 'Api.Controllers.ItemApi.ContentItemDataController' не имеет конструктора по умолчанию",
"ExceptionType": "System.ArgumentException",
"StackTrace": "в System.Linq.Expressions.Expression.New (тип type) \ r \ n в System.Web.Http.Internal.TypeActivator.Create [TBase] (тип instanceType) \ r \ n в System.Web .Http.Dispatcher.DefaultHttpControllerActivator.GetInstanceOrActivator (запрос HttpRequestMessage, тип controllerType, Func`1 & activator) \ r \ n в System.Web.Http.Dispatcher.DefaultHttpController * Тип_скрипта
}
}
Любая помощь приветствуется.