2010-07-09 18 views
9

के उन्नयन तो हम 3.5 एसपी 1 से हमारी साइट से अपग्रेड किया है सर्वर त्रुटि (500), निम्न कॉन्फ़िगरेशन समूह बताते हुए पढ़ा नहीं जा सका:समस्या जब .NET 4.0

<system.web.extensions> 
     <scripting> 
      <scriptResourceHandler enableCompression="true" enableCaching="true" /> 
      <webServices> 
       <jsonSerialization maxJsonLength="999999" /> 
      </webServices> 
     </scripting> 
    </system.web.extensions> 

हम इस खंड बाहर टिप्पणी की है और वेबसाइट ठीक भाग गया (लेकिन अब हम JSON के साथ समस्याओं हो रही है - ऊपर आवश्यक संपत्ति की वजह से) ।

हमने इस मुद्दे पर धागे पढ़े हैं, और उनमें से अधिकांश कहते हैं "आपका एप्लिकेशन पूल 4.0 नहीं चल रहा है"। और यह है, तो यह मुद्दा नहीं है।

मैंने धागे को भी पढ़ा है कि आईआईएस किसी भी तरह पुरानी मशीन.कॉन्फिग फ़ाइल पढ़ रहा है।

.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 सप्ताह और कोई जवाब ... लानत। =)

+0

मैं भी एक ही मुद्दा हो रहा है आप के रूप में ... मुझे यकीन है कि क्यों नहीं कर रहा हूँ, लेकिन अगर मैं इसका कारण जानने के है, मैं आपसे इस सूत्र पर आ जाएगा। –

उत्तर

2

जैसा कि मेरे पास कोई जवाब नहीं है, और व्यापक googling के परिणामस्वरूप कोई प्यार नहीं हुआ है, मैंने अपना मूल तय करने का फैसला किया है (system.web.extensions अनुभाग को web.config में वापस जोड़ना)।

0

जानकारी के दो और बिट्स जो मदद कर सकते हैं या नहीं भी कर सकते हैं।

  1. उपरोक्त अनुभाग समूह और मेरा मशीन अनुभाग समूह का एकमात्र अंतर मशीन =conf.0 में संस्करण = 3.5.0.0 और संस्करण = 4.0.0.0 है। 1.
  2. इवेंट लॉग में त्रुटि "साइट के लिए सभी ISAPI फ़िल्टर लोड नहीं हो सका ..." क्या सिस्टम.Web.Extensions का एक इंस्टॉलेशन हो सकता है जो .NET 4 के साथ ठीक से पंजीकृत नहीं है?

मुझे इस पर अधिक परीक्षण करना अच्छा लगेगा, लेकिन दुर्भाग्यवश मैं केवल इस व्यवहार को उत्पादन प्रणाली में देखता हूं, न कि एक देव प्रणाली।

2

मैं हाल ही में इस मुद्दे में भाग गया और कुछ समस्या निवारण के बाद इसे हल करने में सक्षम था। आशा है कि मैंने जो किया वह आपकी समस्या को ठीक करने में भी मदद करेगा। 1. सुनिश्चित करें कि आप साइट के लिए चल रहे ऐप पूल का उपयोग कर रहे हैं .NET 4 पाइपलाइन 2. नोटपैड में अपना .csproj (या .vbproj अगर आपका वीबी प्रोजेक्ट है) खोलें और फ़ाइल पर चलें और जांचें कि क्या कोई है या नहीं v2.0 फ्रेमवर्क फ़ाइलों के लिए हार्ड कोडित संदर्भ। मेरे मामले में हमारे पास "बिल्ड के बाद" कार्य था जो v2.0 कंपाइलर पथ का उपयोग कर रहा था जिसने ऐप को अभी भी 2.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 करने बदलने के लिए या और भी बेहतर उन्हें confiurable बनाने के लिए सुनिश्चित करें। उम्मीद है कि मदद करता है।

-Vamsi