#asp.net-mvc-3
#asp.net-mvc-3
Вопрос:
Я никогда раньше не видел ничего подобного. Перепробовал все, что мог, безуспешно искал в Интернете, и в итоге я абсолютно понятия не имею, что происходит. Бьюсь об заклад, это будет одна из тех глупых ошибок, которые легко исправить, хотя я не совсем понимаю проблему с ключом fif / gif — слишком нереально для меня.
Дополнительная информация: в настоящее время запущен MVC3 (обновлен с 1 на 2 на 3), проблема возникает периодически (иногда это происходит при загрузке сайта, иногда это занимает несколько минут), запуск сайта непосредственно в Visual Studio.
Мы высоко ценим любую помощь!
Server Error in '/' Application.
Item has already been added. Key in dictionary: '.fif' Key being added: '.gif'
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ArgumentException: Item has already been added. Key in dictionary: '.fif' Key being added: '.gif'
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[ArgumentException: Item has already been added. Key in dictionary: '.fif' Key being added: '.gif']
System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add) 9360827
System.Collections.Hashtable.Add(Object key, Object value) 11
System.Web.MimeMapping..cctor() 2038
[TypeInitializationException: The type initializer for 'System.Web.MimeMapping' threw an exception.]
System.Web.MimeMapping.GetMimeMapping(String FileName) 23
System.Web.StaticFileHandler.ProcessRequestInternal(HttpContext context, String overrideVirtualPath) 761
System.Web.DefaultHttpHandler.BeginProcessRequest(HttpContext context, AsyncCallback callback, Object state) 347
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 8862964
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Booleanamp; completedSynchronously) 184
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.431
Комментарии:
1. Вы рассматривали возможность показа своего кода?
2. Это интересно, но его нет. Я смог выяснить, что происходит, только потому, что вместо обновления страницы я скопировал местоположение файла javascript и загрузил его из браузера. Visual Studio не обнаруживает никакой проблемы, она просто показывает желтую страницу с проблемой, скопированной выше. Я рад поделиться конкретными фрагментами кода, если это поможет, но я не могу придумать, что именно.
Ответ №1:
В моем случае эта ошибка была вызвана неправильной конфигурацией web.config. У меня было
<staticContent>
<mimeMap fileExtension=".ttf" mimeType="font/otf" />
</staticContent>
но он должен быть
<staticContent>
<remove fileExtension=".ttf" />
<mimeMap fileExtension=".ttf" mimeType="font/otf" />
</staticContent>
Ответ №2:
Итак, вот в чем дело:
По-видимому, возникла проблема со средством сравнения языков «cy-GB», что, в свою очередь, вызвало странную проблему с fif / gif.
Дополнительная информация здесь: http://forums.iis.net/p/1175210/1979005.aspx и https://connect.microsoft.com/VisualStudio/feedback/details/661862/system-web-mimemapping-static-constructor-crash-due-to-incorrect-string-comparer-use
Что привлекло мое внимание, так это то, что этот язык выбирался из приложения, и причина в FirstOrDefault(), где двухбуквенный ISO-код == «GB». Теперь это устранено, и проблема больше не возникает, но ошибка в языке «cy-GB» еще предстоит исправить (ссылка MS Connect предоставлена выше).
Надеюсь, это поможет кому-либо еще с подобной проблемой.
Ответ №3:
У меня только что была точно такая же проблема. Спасибо, что указал на причину, Эдди.
Это то, что я сделал, чтобы устранить эту проблему на моем компьютере с Windows XP:
Перейдите к Control Panel > Regional and Language Options > Regional Options (tab) > Standards and formats
. Затем выберите English (United Kingdom)
из выпадающего меню, а не Welsh
.