Таким образом, мы обновили наш сайт от 3,5 SP1->.NET 4.
Когда мы выполнили сайт, мы получили Внутреннюю Ошибку Сервера (500), заявив, что следующая группа конфигурации не могла быть считана:
<system.web.extensions>
<scripting>
<scriptResourceHandler enableCompression="true" enableCaching="true" />
<webServices>
<jsonSerialization maxJsonLength="999999" />
</webServices>
</scripting>
</system.web.extensions>
Мы прокомментировали этот раздел, и веб-сайт хорошо работал (но теперь мы получаем проблемы с JSON - из-за вышеупомянутого необходимого свойства).
Мы считали потоки по этой проблеме, и большинство из них говорит, что "Ваш пул приложений не работает 4.0". И это, таким образом, это не проблема.
Я также считал потоки, говоря, что IIS так или иначе читает старый machine.config файл.
С.NET 4, как Вы знаете, много разделов web.config было перемещено в machine.config.
Таким образом, мы откладываем этот раздел в вершине web.config:
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" />
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
</sectionGroup>
</sectionGroup>
</sectionGroup>
И веб-сайт теперь, кажется, работает хорошо.
Однако, я немного заинтересован, является ли это правильным решением.
Какие-либо люди идей? Действительно ли это - корректная фиксация?
Править:
3 недели и никакие ответы... проклинают.=)
Поскольку у меня не было ответов, а обширный поиск в Google тоже не привел к успеху, я решил оставить свое исходное исправление (добавив раздел system.web.extensions обратно в Интернет. config).