2012-06-10 6 views
5

Sto cercando di sostituire la Cache di AppFabric di Windows Azure con la cache basata sui ruoli appena rilasciata introdotta nella versione dell'SDK di giugno 2012 seguendo le guide sul sito Web di Microsoft.Caching dei ruoli Web di Windows Azure (Anteprima) "si blocca" rende l'emulatore bloccato nel ciclo di distribuzione

Tuttavia, durante il controllo del (log emulatore: http://pastebin.com/dwbDvak2) "Enable Caching (Preview)" nel mio Web Role, l'emulatore sarà non istanziare con successo il sito web. Sembra che si stia bloccando in una sorta di loop. Disabilitare la memorizzazione nella cache del ruolo Web lo fa funzionare di nuovo. Ho ottenuto lo stesso risultato dopo aver disinstallato tutti i precedenti SDK di Azure e reinstallato la versione 1.7.

Visual Studio mi dice che "Le istanze di ruolo impiegano più tempo del previsto. Vuoi continuare ad aspettare?" [Si No]. Premendo Sì lo mantiene in attesa e si mostra più e più volte.

C'è qualcuno che potrebbe sapere come risolvere il problema descritto sopra, o forse aver provato la nuova funzionalità di caching del ruolo Web e averlo fatto funzionare nell'emulatore azzurro?

Screen shot of the azure local debugging environment deployment dialog

Grazie.

Aggiornamento:

ho creato una nuova soluzione, e ha aggiunto solo un semplice sito MVC, ha aggiunto il ruolo web e il caching abilitato, e la stessa cosa è successa. Così, ho preso uno sguardo al Visualizzatore eventi, e ha trovato 3 voci relative alla questione:

Fault bucket 3034750239, type 5 
Event Name: CLR20r3 
Response: Not available 
Cab Id: 0 

Problem signature: 
P1: cacheinstaller.exe 
P2: 1.0.4655.0 
P3: 4fb0f3f9 
P4: CacheInstaller 
P5: 1.0.4655.0 
P6: 4fb0f3f9 
P7: 11 
P8: 47 
P9: System.TypeLoadException 
P10: 

Attached files: 
C:\Users\anan\AppData\Local\Temp\WEREA8F.tmp.WERInternalMetadata.xml 

These files may be available here: 
C:\Users\anan\AppData\Local\Microsoft\Windows\WER\ReportArchive\AppCrash_cacheinstaller.e_1fbc3b72afb6acf93335ca8611850d289906c25_2ddaf529 

Analysis symbol: 
Rechecking for solution: 0 
Report Id: 3138ba06-b344-11e1-a8d6-402cf41c1e07 
Report Status: 0 


Application: CacheInstaller.exe 
Framework Version: v4.0.30319 
Description: The process was terminated due to an unhandled exception. 
Exception Info: System.MissingMethodException 
Stack: 
    at Microsoft.ApplicationServer.Caching.AzureCommon.Package.InitializeExternalStoreIfRequired() 
    at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) 
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) 
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) 
    at System.Threading.ThreadHelper.ThreadStart() 

E poi:

Application: CacheInstaller.exe 
Framework Version: v4.0.30319 
Description: The process was terminated due to an unhandled exception. 
Exception Info: System.MissingMethodException 
Stack: 
    at Microsoft.ApplicationServer.Caching.AzureCommon.Package.InitializeExternalStoreIfRequired() 
    at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) 
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) 
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) 
    at System.Threading.ThreadHelper.ThreadStart() 

E:

Faulting application name: CacheInstaller.exe, version: 1.0.4655.0, time stamp: 0x4fb0f3f9 
Faulting module name: KERNELBASE.dll, version: 6.1.7601.17651, time stamp: 0x4e21213c 
Exception code: 0xe0434352 
Fault offset: 0x000000000000cacd 
Faulting process id: 0x17b4 
Faulting application start time: 0x01cd4750f5db0096 
Faulting application path: c:\users\anan\documents\visual studio 11\Projects\AzureCacheTest\AzureCacheTest\csx\Debug\roles\WebRole\plugins\Caching\CacheInstaller.exe 
Faulting module path: C:\Windows\system32\KERNELBASE.dll 
Report Id: 33a53608-b344-11e1-a8d6-402cf41c1e07 

FYI: Questa è un'edizione Enterprise x64 di Windows 7, utilizzando Visual Studio 2012 RC.

+0

Anche qui: http://social.msdn.microsoft.com/Forums/en-US/windowsazuredevelopment/thread/8580689a-a1a1-4db7-bba9-f42c1a90e0db – smarx

risposta

2

Ho avuto lo stesso problema.Per fare con un conflitto dll AppFabric Server - verificare se è installato AppFabric Server e disinstallare la cache o rimuovere gli assembly della cache dal GAC. Ho rimosso e la cache emulata funziona correttamente.

Ho alcune informazioni che possono essere utili sul nostro blog:

http://blog.elastacloud.com/2012/06/09/using-the-windows-azure-cache-preview-with-sdk-1-7/

+0

Grazie Richard per aver postato il tuo link sia su MSDN che qui, e anche sottolineando i dettagli che ho perso. Molto apprezzato! –

+0

Non avevo installato AppFabric Server. Ma le assemblee erano lì in GAC. Li ho rimossi eseguendo 'gacutil/u Microsoft.ApplicationServer.Caching.Client' e' gacutil/u Microsoft.ApplicationServer.Caching.Core' – HashName

0

Intendi dire che per abilitare la memorizzazione nella cache è necessario controllare lo ? Questo non dovrebbe accadere ... Funziona benissimo sulla mia macchina.

Stai creando un nuovo progetto o aggiornando un progetto esistente? Prova a creare un nuovo progetto.

Verificate anche i seguenti registri:

file allegati:

C:\Users\anan\AppData\Local\Temp\WEREA8F.tmp.WERInternalMetadata.xml 

Questi file possono essere disponibili qui:

C:\Users\anan\AppData\Local\Microsoft\Windows\WER\ReportArchive\AppCrash_cacheinstaller.e_1fbc3b72afb6acf93335ca8611850d289906c25_2ddaf529 
+0

Come ho affermato, ho anche provato a creare un completamente nuovo soluzione, ed era lo stesso. Sfortunatamente quei file non si trovano. Ho provato a cercarli quando ho notato i log nel Visualizzatore eventi. –

1

metodo mancante probabilmente significa che il gruppo caricato non ha il metodo lì dentro Puoi assicurarti di aver aggiunto l'assembly corretto al tuo progetto?

Assicurarsi che non si dispone di Windows Server AppFabric installato nella macchina così, in quanto sarà GAC la dll caching, che andranno raccolti durante il runtime

1

Per me, il problema era che io era in esecuzione il mio progetto off di una condivisione UNC (in realtà la sua esecuzione in una macchina virtuale su il mio macbook). Quando avvii il debugger dopo aver controllato la casella "Abilita cache" nel ruolo di lavoratore, si bloccherebbe. Venuto a scoprire, circa ogni 2 secondi stava creando un file di dump da 160 MB in C: \ Windows \ System32 \% LOCALAPPDATA% \ CrashDumps. Dopo aver eseguito il debug di uno di questi, ho notato che il primo errore si verificava quando tentava di avviare cmd.exe nella cache del mio ruolo di lavoratore e diceva che CMD non può essere eseguito su una condivisione di rete, quindi sarebbe default su windows/system32 o qualcosa.

Questo è quando ho trovato questo Handy Dandy di 7 anni articolo MS KB: http://support.microsoft.com/kb/156276 Quando ho aggiunto DisableUNCCheck REG_DWORD e impostare il valore a 0 x 1 (Hex) sotto il percorso del Registro HKEY_CURRENT_USER\Software\Microsoft\Command Processor tutto è iniziato proprio come un campione. Spero che questo aiuti qualcun altro.