2014-04-25 6 views
5

Ich habe eine Website in Azure seit ungefähr einem Monat getestet (kostenlose Testversion), und jetzt habe ich Pay-as-you-go abonniert. Als ich im Test war, hatte ich keinerlei Verbindungsprobleme. Jetzt habe ich erneut auf einer neuen Website eingerichtet, die auf dem Pay-as-you-go-Abonnement mit den gleichen Einstellungen (Skalierungsmodus usw.) wie die vorherige erstellt wurde. Aber jetzt, wenn ich auf meiner Website navigieren, versagt es manchmal zu meiner Datenbank verbinden:Azure-Website kann manchmal keine Verbindung zu SQL Azure-Datenbank herstellen

Server Error in '/' Application. 
A connection attempt failed because the connected party did not properly respond after 
a period of time, or established connection failed because connected host has failed to 
respond 
Description: An unhandled exception occurred during the execution of the current web 
request. Please review the stack trace for more information about the error and where 
it originated in the code. 

Exception Details: System.ComponentModel.Win32Exception: A connection attempt failed 
because the connected party did not properly respond after a period of time, or 
established connection failed because connected host has failed to respond 

Source Error: 

An unhandled exception was generated during the execution of the current web request. 
Information regarding the origin and location of the exception can be identified using 
the exception stack trace below. 

Stack Trace: 


[Win32Exception (0x80004005): A connection attempt failed because the connected party 
did not properly respond after a period of time, or established connection failed 
because connected host has failed to respond] 

[SqlException (0x80131904): A network-related or instance-specific error occurred 
while establishing a connection to SQL Server. The server was not found or was not 
accessible. Verify that the instance name is correct and that SQL Server is configured 
to allow remote connections. (provider: TCP Provider, error: 0 - A connection attempt 
failed because the connected party did not properly respond after a period of time, or 
established connection failed because connected host has failed to respond.) 

Ich versuche, die Seite zu aktualisieren und sie verbindet. Nach ein paar Minuten, wenn ich es erneut versuche, bekomme ich manchmal den gleichen Fehler wieder, aber manchmal nicht. Ich hatte nie ein einziges Konnektivitätsproblem im kostenlosen Testmodus. Warum ist es passiert und wie kann ich dieses Problem verhindern?

+0

Haben Sie eine Wiederholungslogik verwendet oder implementiert? – CSharpRocks

+0

@CSharpRocks Nein, was soll ich tun? –

Antwort

4

Transiente Fehler werden in einer Cloud-Umgebung erwartet. Nehmen wir an, dass ein Datenbankaufruf fehlschlägt. Wenn Sie ein paar Millisekunden später versuchen, würde derselbe Aufruf jetzt funktionieren. Um Sie vor diesen Fehlern zu schützen, müssen Sie eine Wiederholungslogik implementieren. Wenn Sie Entity Framework verwenden 6, haben Sie Glück, da es gebacken ist in: http://msdn.microsoft.com/en-US/data/dn456835 Hier ein kurzes Video auf, wie dies implementieren: http://www.azurerocks.com/0_oaw-merMw

Sie können auch die Enterprise Library Transient Fehlerbehandlung Application Blockes verwenden: http://msdn.microsoft.com/en-us/library/hh680934(v=pandp.50).aspx

+2

Ich werde es mir ansehen. Irgendeine Idee, warum das für einen ganzen Monat nie passiert ist, aber begann, nachdem ich zum bezahlten Abonnement gewechselt bin? –

+0

Ich vermute, dass dies so geschieht, weil die Ressourcen im try-it-Abonnement auf einer höheren Prioritätsstufe bedient werden, um Neulingen die Möglichkeit zu geben, alle Features zu testen, die sich auf die Features selbst konzentrieren. Nach der kostenpflichtigen Subskription hängt die Servicequalität von dem von Ihnen gewählten Serviceplan ab (je kleiner die kleinere Instance-Größe, desto kleiner die Bandbreite). Das ist meine persönliche Sichtweise, wie das alles funktioniert. –

Verwandte Themen