2012-09-07 12 views
7

मैंने वेबमैट्रिक्स 2 को अपग्रेड करने की गलती की है जिसे मैं नवीनतम संस्करण में चला रहा था और अब यह सबकुछ टूट गया है!वेबमैट्रिक्स 2 टूटा

इस बारे में स्क्रीन से मैं क्या चला रहा हूँ है:

iisnode था: जब तक मैं WebMatrix 2 का नवीनतम संस्करण स्थापित

Version 2.0 

WebMatrix: 7.1.1674.0 
IIS Express: 8.0.8418.0 
.NET Framework: 4.0.30319.269 (RTMGDR.030319-2600) 
Web Deploy: 7.1.1631.0 
SQL Server Compact: 4.0.8854.1 
Web Platform Installer: 7.1.1622.0 
ASP.NET Web Pages: 2.0.20715.0 

सब कुछ सही चल रहा था जो अब मैं इस त्रुटि हो रही है में कॉन्फ़िगरेशन फ़ाइल को पढ़ने में असमर्थ। सुनिश्चित करें कि web.config फ़ाइल वाक्यविन्यास सही है। विशेष रूप से, Iisnode कॉन्फ़िगरेशन अनुभाग सत्यापित स्कीमा से मेल खाता है सत्यापित करें। Iisnode अनुभाग की स्कीमा जो iisnode के आपके संस्करण की आवश्यकता है% systemroot% \ system32 \ inetsrv \ config \ schema \ iisnode_schema.xml फ़ाइल में संग्रहीत है।

इसका क्या मतलब है ???? स्कीमा?

यहां मेरी वेब.कॉन्फिग फ़ाइल है, मैंने इसमें कुछ भी नहीं बदला है, वेबमैट्रिक्स इसके बारे में शिकायत क्यों कर रहा है ???

मैंने टेम्पलेट उदाहरणों को चलाने का भी प्रयास किया है लेकिन वे एक ही संदेश प्रदर्शित करते हैं। चीजों को तोड़ने के लिए आपने माइक्रोसॉफ्ट क्या किया है !!! ???

    <!-- Don't interfere with requests for logs --> 
        <rule name="LogFile" patternSyntax="ECMAScript" stopProcessing="true"> 
         <match url="^[a-zA-Z0-9_\-]+\.js\.logs\/\d+\.txt$"/> 
        </rule> 

       <!-- Don't interfere with requests for node-inspector debugging --> 
       <rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true">      
        <match url="^server.js\/debug[\/]?" /> 
       </rule> 

        <!-- First we consider whether the incoming URL matches a physical file in the /public folder --> 
        <rule name="StaticContent"> 
         <action type="Rewrite" url="public{REQUEST_URI}"/> 
        </rule> 

        <!-- All other URLs are mapped to the Node.js application entry point --> 
        <rule name="DynamicContent"> 
         <conditions> 
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True"/> 
         </conditions> 
         <action type="Rewrite" url="server.js"/> 
        </rule> 

      </rules> 
     </rewrite> 
     <!-- You can control how Node is hosted within IIS using the following options --> 
     <iisnode  
     node_env="%node_env%" 
     nodeProcessCommandLine="&quot;%programfiles%\nodejs\node.exe&quot;" 
     nodeProcessCountPerApplication="1" 
     maxConcurrentRequestsPerProcess="1024" 
     maxNamedPipeConnectionRetry="3" 
     namedPipeConnectionRetryDelay="2000"  
     maxNamedPipeConnectionPoolSize="512" 
     maxNamedPipePooledConnectionAge="30000" 
     asyncCompletionThreadCount="0" 
     initialRequestBufferSize="4096" 
     maxRequestBufferSize="65536" 
     watchedFiles="*.js;node_modules\*;routes\*.js;views\*.ejs;middleware\*.js" 
     uncFileChangesPollingInterval="5000"  
     gracefulShutdownTimeout="60000" 
     loggingEnabled="true" 
     logDirectoryNameSuffix="logs" 
     debuggingEnabled="true" 
     debuggerPortRange="5058-6058" 
     debuggerPathSegment="debug" 
     maxLogFileSizeInKB="128" 
     appendToExistingLog="false" 
     logFileFlushInterval="5000" 
     devErrorsEnabled="true" 
     flushResponse="false"  
     enableXFF="false" 
     promoteServerVars="" 
     /> 
     <!-- <iisnode watchedFiles="*.js;node_modules\*;routes\*.js;views\*.ejs;middleware\*.js"/>--> 
     <!-- watchedFiles="*.js" --> 
    </system.webServer> 

उत्तर

4

समस्या कैसे IISNode अब संदेशों लॉग इन करने के काम करता है। मेरा मानना ​​है कि यह सीधे console.log समस्याओं से संबंधित है जो स्वयं और दूसरों ने शिकायत की है, और यह आईआईएसएनओड को अक्सर दुर्घटनाग्रस्त करने का कारण बनता है। IISNode अब iisnode नामक एक अलग फ़ोल्डर में console.log संदेशों को संग्रहीत करता है। यह एक अलग लॉगिंग सिस्टम का उपयोग करता है और मुझे लगता है कि यह पुराने server.js.logs सिस्टम की तुलना में अधिक स्थिर है।

मैंने पाया कि इन web.config सेटिंग अब useable हैं:

- logDirectoryNameSuffix="logs" 
- appendToExistingLog="false" 
- logFileFlushInterval="5000" 

यदि आप इनमें से तो सब कुछ ठीक काम करता है हटा दें।

+0

यह मेरे लिए काम किया। धन्यवाद! – mpen

+0

मुझे iisnode को अनइंस्टॉल करना था और उपरोक्त नील द्वारा नोट किए गए https://github.com/tjanczuk/iisnode से x64 पैकेज को पुनर्स्थापित करना पड़ा। –

3

मैं भी WebMatrix 2 अंतिम आज के लिए अद्यतन, और यह आईआईएस एक्सप्रेस तोड़ दिया, Visual Studio 2012 के साथ काम करने से रोकता है आर सी और WebMatrix अपने आप। ऐड से

  • स्थापना रद्द करें आईआईएस एक्सप्रेस 8.0// कार्यक्रमों
  • स्थापना रद्द करें आईआईएस एक्सप्रेस 7.5 निकालें ऐड से कार्यक्रम
  • भागो वेब प्लेटफ़ॉर्म इंस्टालर निकालें और आईआईएस को पुनर्स्थापित: हालांकि, मैं निम्न कार्य करके इसे ठीक करने में सक्षम था एक्सप्रेस 8.0।

मैंने अपने दस्तावेज़ों से अपने IISExpress फ़ोल्डर की सामग्री भी हटा दी, लेकिन मुझे यकीन नहीं है कि यह आवश्यक था या नहीं।

+0

मैंने उपरोक्त वर्णित आईआईएसएनओडी स्कीमा समस्या को मारा। मेरा फिक्स IISNode github साइट पर दिशानिर्देशों का पालन करना था (जो रिचर्ड के मुकाबले लंबे समय तक है, इसलिए यह एक बेहतर विकल्प हो सकता है) समस्या आईआईएसएनोड के सही संस्करण (ओं) को –

+0

स्थापित करने के आसपास हो सकती है। जिथब लिंक: https : //github.com/tjanczuk/iisnode –

+0

धन्यवाद नील, यह आईआईएसएनओड था और कुछ पुराने गुणों को हटाने के लिए IISNode अब web.config फ़ाइल में उपयोग नहीं करता है। –

4

सबसे तेज़ समाधान आईआईएस एक्सप्रेस फ़ोल्डर में सही स्कीमा की प्रतिलिपि बनाना है।

एक व्यवस्थापक कमांड प्रॉम्प्ट से: एक x64 मशीन पर

:

xcopy /y "%programfiles(x86)%\iisnode-dev\release\x86\iisnode_schema_x86.xml" "%programfiles(x86)%\IIS Express\config\schema\iisnode_schema.xml" 

एक x86 मशीन पर:

xcopy /y "%programfiles%\iisnode-dev\release\x86\iisnode_schema_x86.xml" "%programfiles%\IIS Express\config\schema\iisnode_schema.xml" 
+0

जब मैं इसे चलाता हूं, तो मुझे 'फ़ाइल नहीं मिली - iisnode_schema_x86.xml 0 फ़ाइल कॉपी की गई है। कोई सलाह? –

+0

इसने फ़ाइल को मेरे लिए सफलतापूर्वक कॉपी किया, लेकिन इस मुद्दे को हल नहीं किया। – mpen

0

हां, आप सही हैं, नई लॉगिंग सेटिंग्स का समर्थन करने के लिए iisnode के लिए कॉन्फ़िगरेशन serttings में परिवर्तन तोड़ रहे थे। यही कारण है कि नई विन्यास स्कीमा की आवश्यकता है।

0

हमने इसे ठीक करने के लिए एक और आसान तरीका रखा है। तुम सिर्फ इस के साथ iisnode की एक फिर से स्थापित WebPI स्थापित ट्रिगर कर सकते हैं लिंक:

http://www.microsoft.com/web/handlers/webpi.ashx?command=GetInstallerRedirect&appid=iisnodedev32

इस पर क्लिक करने से यह सुनिश्चित करेंगे आईआईएस नोड का सही संस्करण स्थापित किया गया है, और आईआईएस एक्सप्रेस निर्देशिका के लिए अधिक नए स्कीमा फ़ाइल की प्रतिलिपि स्वतः। कृपया, कृपया हमें बताएं कि यह आपके लिए काम नहीं करता है :)

+0

मैं वास्तव में पहले से ही यह स्थापित किया था (इस समस्या को ठीक करने की कोशिश करते समय किया था)। तो ... मुझे लगता है कि यह मेरी समस्या को ठीक नहीं किया। मैंने एक प्रश्न भी बनाया [यहां] (http://stackoverflow.com/questions/13079199/error-running-node-app-in-webmatrix)। –

संबंधित मुद्दे