2012-09-07 13 views
7

Popełniłem błąd polegający na aktualizacji webmatrix 2, którą miałem do najnowszej wersji i teraz wszystko zepsute!Webmatrix 2 zerwana

Z ekranu na temat tego, co używam:

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 

wszystko działa idealnie, dopóki nie zainstalować najnowszą wersję WebMatrix 2, w którym teraz jestem coraz to błąd:

iisnode było nie można odczytać pliku konfiguracyjnego. Upewnij się, że składnia pliku web.config jest poprawna. W szczególności sprawdź, czy sekcja konfiguracji iisnode odpowiada oczekiwanemu schematowi. Schemat sekcji iisnode, której wymaga twoja wersja iisnode, jest przechowywany w pliku% systemroot% \ system32 \ inetsrv \ config \ schema \ iisnode_schema.xml.

Co to do cholery znaczy? schemat?

Oto mój plik web.config Nie zmieniłem nic w nim, dlaczego webmatrix narzeka na to ???

Próbowałem nawet uruchomić przykłady szablonów, ale wyświetlają one również ten sam komunikat. Co zrobiłeś Microsoft, aby złamać rzeczy !!! ???

    <!-- 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> 

Odpowiedz

4

Problemem jest to, w jaki sposób działa IISNode do wiadomości teraz zalogować. Sądzę, że jest to bezpośrednio związane z problemami konsoli .log, na które ja i inni narzekaliśmy, oraz jak często powodowały one awarie usług IISNode. Węzeł IISNode przechowuje teraz wiadomości console.log w osobnym folderze o nazwie iisnode. Używa innego systemu rejestrowania i przypuszczam, że jest bardziej stabilny niż starszy system server.js.logs.

Okazało się, że te ustawienia web.config nie są już użyteczne:

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

Jeśli usuniesz te następnie wszystko działa poprawnie.

+0

To zadziałało dla mnie. Dziękuję Ci! – mpen

+0

Musiałem również odinstalować iisnode i ponownie zainstalować pakiet x64 z https://github.com/tjanczuk/iisnode odnotowany przez Neila powyżej. –

3

ja również zaktualizowana WebMatrix 2 final dzisiaj, i złamał IIS Express, zapobiegając jego pracy z Visual Studio 2012 RC i WebMatrix samo. Jednak udało mi się go naprawić, wykonując następujące czynności:

  • Odinstaluj IIS Express, 8.0 z Dodaj/Usuń programy
  • Odinstaluj IIS Express, 7,5 z Dodaj/Usuń Installer Programy
  • Run Web Platform i ponownie zainstalować IIS Express 8.0.

Usunąłem również zawartość mojego folderu IISExpress z folderu Moje dokumenty, ale nie jestem pewien, czy było to konieczne.

+0

Uderzyłem problem schematu IISNode, jak opisano powyżej. Moja poprawka polegała na tym, aby postępować zgodnie ze wskazówkami na witrynie github IISNode (które są dłuższe niż w Richardzie, więc może to być lepsza alternatywa) Problem może być związany z pobieraniem prawidłowych wersji IISNode –

+0

Łącze github: https : //github.com/tjanczuk/iisnode –

+0

Dzięki Neil, był to IISNode i usunięcie niektórych starych właściwości, których IISNode już nie używa w pliku web.config. –

4

Najszybszym rozwiązaniem jest skopiowanie poprawnego schematu do folderu iis express.

z wiersza polecenia administratora:

na maszynie x64:

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

Na komputerze z procesorem x86:

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

Po uruchomieniu otrzymuję komunikat "Nie znaleziono pliku - iisnode_schema_x86.xml 0 Plik (y) skopiowany". Jakakolwiek rada? –

+0

Plik został skopiowany pomyślnie dla mnie, ale nie rozwiązał problemu. – mpen

0

Tak, zgadzasz się, nastąpiły zmiany w konfiguracji konfiguracji dla iisnode w celu obsługi nowych ustawień rejestrowania. Dlatego wymagany jest nowy schemat konfiguracji.

0

Stworzyliśmy inny łatwy sposób, aby to naprawić. można po prostu wywołać ponowna instalacja iisnode z tym WebPI zainstalować Link:

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

Klikając ten zapewni prawo wersja IIS węzeł jest zainstalowany, a następnie skopiować nowy plik schematu nad do katalogu IIS Express, automagicznie. Proszę, daj nam znać, jeśli to nie działa dla ciebie :)

+0

Właściwie już to zainstalowałem (zrobiłem to, próbując naprawić ten problem). Więc ... to nie rozwiązało mojego problemu. Zrobiłem również pytanie [tutaj] (http://stackoverflow.com/questions/13079199/error-running-node-app-in-webmatrix). –

Powiązane problemy