У меня есть набор веб-сайтов, построенных в MVC - каждый, по сути, является клоном одного исходного сайта). На одном из сайтов я получаю сообщение об ошибке из заголовка этого сообщения («данный ключ отсутствует в словаре») - это происходит только на одной странице. Код идентичен всем сайтам, включая тот, который действует. Каждый из сайтов устанавливается с одинаковой настройкой (большинство из них параллельны друг другу на одном сервере). Я не могу реплицировать это в своей среде Dev, поэтому не знаю, как отлаживать (наши сайты скомпилированы с помощью процесса сборки Nant и все настроены на режим Release, поэтому нет информации об отладочной информации).ASP.Net MVC: «Указанный ключ отсутствовал в словаре»
Когда я просматриваю трассировку стека ошибки, я замечаю, что ни в коем случае наш код не вызывается - это все вызовы на основе ASP.Net-страниц (в частности, последняя значимая функция - это метод, называемый «__RenderSearchContent» в Скомпилированная страница. Насколько я могу судить по тому, что я могу прогнать соответствующее действие контроллера, нет экземпляров, в которых код использует объект Dictionary.
Мне кажется, что я что-то пропустил, но не уверен где искать - код, похоже, не проблема, там не должно быть быть любым различием окружающей среды (хотя это не невозможно - база данных, например, является другой установкой, но имеет идентичную схему и еще не используется к трассировке стека).
Одна из областей, в которых я подозреваю, это маршрутизация, которую я знаю, использует словарь - но, конечно, если бы это было так, другие сайты пострадали бы от одной и той же проблемы?
Есть ли какие-либо предложения относительно того, где я могу найти причину этой проблемы?
Любая помощь будет очень признательна.
Приветствие
Привет, спасибо за ответ. Было хорошим предложением проверить параметры маршрута, но в данном случае это не решение. Я описываю решение в ответе, который я предоставил. –