문제

우리는 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 주 및 답변 ... 젠장.=)

도움이 되었습니까?

해결책

답변이 없었으며 광범위한 Googling은 사랑이 아니 었습니다. 원래 수정 사항 (system.web.extensions 섹션을 web.config에 다시 추가하십시오)을 선택했습니다.

다른 팁

나는 최근 에이 문제를 해결하고 일부 문제 해결 후 해결할 수있었습니다.내가 한 일이 당신의 문제를 해결하는 데 도움이되기를 바랍니다. 1. 사이트에서 실행중인 앱 풀이 .NET 4 파이프 라인을 사용하는지 확인하십시오. 2. 메모장에서 .csproj (또는 .vbproj)를 엽니 다. v2.0 framework 파일에 대한 하드 코딩 된 참조가 있는지 확인하고 파일을 봅니다.내 경우에는 앱이 2.0 런타임을 사용하는 v2.0 컴파일러 경로를 사용하는 "빌드 빌드"작업을 가졌습니다.그것은 아래와 같았습니다.

<Target Name=”AfterBuild” Condition=”’$(MvcBuildViews)’==’true’”>
<AspNetCompiler Condition=”’$(IsDesktopBuild)’ != ‘false’” VirtualPath=”temp” ToolPath=”$(WINDIR)\Microsoft.NET\Framework\v2.0.50727” PhysicalPath=”$(ProjectDir)\..\$(ProjectName)” />
<AspNetCompiler Condition=”’$(IsDesktopBuild)’ == ‘false’” VirtualPath=”temp” ToolPath=”$(WINDIR)\Microsoft.NET\Framework\v2.0.50727” PhysicalPath=”$(OutDir)\_PublishedWebsites\$(ProjectName)” />
.

v4.0으로 바꾸거나 더 나은 더 나은 것을 바꾸십시오. 희망이 도움이되기를 바랍니다.

-vamsi

도움이 될 수도 있고 할 수없는 두 가지 정보가 더 많은 정보를 제공합니다.

  1. 위의 섹션 그룹과 My Machine SectionGroup과 유일한 차이점은 Machine.config에서 여기 버전= 3.5.0.0이고 버전= 4.0.0입니다. 1.
  2. 이벤트 로그의 오류는 "사이트에 대한 모든 ISAPI 필터를로드 할 수 없습니다 ..."는 .NET 4로 제대로 등록되지 않은 System.Web.Extensions를 설치할 수 있습니다.
  3. 나는 이것에 대해 더 많이 테스트하고 싶지만, 불행히도 나는 생산 시스템에서만이 동작을 볼 수 있으며, Dev 시스템이 아닌

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top