Решение
Я поместил элемент <browserCaps userAgentCacheKeyLength='256'>
в <system.web>
и все работает, как показано ниже:
<configuration>
<system.web>
<browserCaps userAgentCacheKeyLength="256" />
</system.web>
</configuration>
Подробное объяснение
Механизм разрешения 'Длина ключа кэша пользовательского агента для браузера' использует кэш для временного хранения отображений.
По умолчанию он использует первые 64 символа строки UserAgent в качестве ключа кэша, однако, когда появляется пользовательский агент, который выглядит так, как будто он принадлежит Safari , но на самом деле не разрешается должным образом, т.е. ' Mozilla 0.0 '
Отображение сохраняется в кеше, что означает, что все строки UserAgent с одинаковым 64 символьным префиксом теперь неправильно отображаются до истечения срока действия записи в кеше, т.е. обычно 1 минут .
Длина ключа, используемого для кэширования, настраивается с использованием следующего:
Увеличьте длину ключа до 256 , чтобы решить проблему.
... У меня были проблемы с поиском правильного места в моем файле web.config для вставки вышеуказанного.
Когда я вставил элемент <browserCaps userAgentCacheKeyLength="..." />
прямо под <configuration>
в мой файл web.config , мое веб-приложение сразу же упало.
К счастью, это произошло в тестовой среде, а не в рабочей среде.
После поиска в Интернете я нашел старую справочную страницу MSDN / ASP .NET (http://msdn.microsoft.com/en-us/library/sk9az15a%28v=vs.71%29.aspx), в которой указывалось, что элемент <broswerCaps>
является дочерним по отношению к <system.web>
.