Я пытался заставить WebApi
работать с Sitecore 7.5 (мне удалось заставить тот же код работать с 7.2). Я оставил в конфигурации ссылку на MVC 5.1
и я получаю следующее исключение, когда пытаюсь получить доступ к маршруту, сопоставленному с атрибутом:
[RoutePrefix("test/api/Other")]
[Route("{action=Get}")]
public class OtherController : ApiController
{
[HttpGet]
public string GetId()
{
return "test";
}
}
Сообщение: «Произошла ошибка.», ExceptionMessage: «Значение не может быть нулевым. Имя параметра: ключ», ExceptionType: «System.ArgumentNullException», StackTrace: «в System.Collections.Generic.Dictionary
2.FindEntry(TKey key) at System.Collections.Generic.Dictionary
2.TryGetValue (ключ TKey, TValue& значение) в Sitecore.Services.Infrastructure.Web.Http.Dispatcher.NamespaceHttpControllerSelector.SelectController(запрос HttpRequestMessage) в System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsyncCore(запрос HttpRequestMessage, CancellationToken CancellationToken) в System.Web.Http.Dispatcher. HttpControllerDispatcher.d__0.MoveNext()"
Код, который у меня есть в запуске приложения, следующий:
protected void Application_Start(object sender, EventArgs e)
{
GlobalConfiguration.Configure(ConfigureRoutes);
}
public static void ConfigureRoutes(HttpConfiguration config)
{
GlobalConfiguration.Configuration.MapHttpAttributeRoutes();
GlobalConfiguration.Configuration.Formatters.Clear();
GlobalConfiguration.Configuration.Formatters.Add(new JsonMediaTypeFormatter());
}
любая помощь будет оценена....