Das Problem tritt auf, wenn erste Migrationen von EF 6.1.2-Code in einer Azure-Webrolle (WS 2012 R2) ausgeführt werden. Die gleichen Migrationen laufen lokal gut, auch wenn ich die Verbindungszeichenfolge auf die (Azure) Sql-Datenbank zeige.Die erste Migration von EF-Code löst StackOverflowException in der Azure-Webrolle aus
Die StackOverflowException wird von Entity Framework-Code ausgelöst, und die erste Zeile von einer meiner Migrationen wird nicht einmal getroffen.
Ich habe versucht, die Migration auf drei verschiedene Arten ausgeführt werden:
DbMigrator migrator = new DbMigrator(configuration);
migrator.Update(); // Here the exception is thrown
Sekunde:
DbMigrator migrator = new DbMigrator(configuration);
pendingMigrations = migrator.GetPendingMigrations().ToList();
foreach (string pendingMigration in pendingMigrations)
{
migrator.Update(pendingMigration); // Here the exception is thrown
}
und mit web.config:
<contexts>
<context type="Superb.WorkNextDoor.EFRepository.Context.WndDbContext, Superb.WorkNextDoor.EFRepository, Version=1.0.0.0, Culture=neutral">
<databaseInitializer type="System.Data.Entity.MigrateDatabaseToLatestVersion`2[[Superb.WorkNextDoor.EFRepository.Context.WndDbContext, Superb.WorkNextDoor.EFRepository], [Superb.WorkNextDoor.EFRepository.Migrations.Migrations.WndDbMigrationsConfiguration, Superb.WorkNextDoor.EFRepository.Migrations]], EntityFramework">
</databaseInitializer>
</context>
</contexts>
Ich sehe die Stackoverflow in Visual Studio, wenn ich die Webrolle remote debugge. Ein Fehler wird im Windows-Ereignisprotokoll der Web-Rolle aufgezeichnet (Log-Info am Ende dieses Beitrags).
Ich habe zwei Migrationen. Ich habe versucht, die erste von PMC und die zweite von der Web-Rolle, aber kein Glück zu laufen.
Ich habe versucht, .Net 4.5.2 auf dem Server zu installieren, die VM-Größe von XS auf S zu ändern und EF auf Version 6.1.1 herabzustufen. Nichts hat geklappt. Außerdem habe ich versucht, den Ordner "E: \ sites \ 0" von der Webrolle auf meinen lokalen Computer herunterzuladen, die App auf IIS installiert und meinen VS Debugger angehängt, und diese Ausnahme wird nicht ausgelöst. Zwischen Windows 8.1 und Windows Server 2012 R2 muss etwas anders sein.
Ich habe viel Zeit damit verbracht, verschiedene Dinge auszuprobieren, aber ich möchte das nicht aufgeben und muss meine Migrationen von der Paketmanager-Konsole ausführen.
Log Name: Application Source: Application Error Date:
1/11/2015 3:21:42 AM Event ID: 1000 Task Category: (100) Level:
Error Keywords: Classic User: N/A Computer:
RD0003FF508F5B Description: Faulting application name: w3wp.exe, version: 8.5.9600.16384, time stamp: 0x5215df96 Faulting module name: clr.dll, version: 4.0.30319.34014, time stamp: 0x52e0b86c Exception code: 0xc00000fd Fault offset: 0x0000000000195499 Faulting process id: 0xc60 Faulting application start time: 0x01d02d4d77fdfb93 Faulting application path: d:\windows\system32\inetsrv\w3wp.exe Faulting module path: D:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll Report Id: f5e4d6dc-9940-11e4-80bd-0003ff508f5b Faulting package full name: Faulting package-relative application ID: Event Xml:
1000 2 100 0x80000000000000 467 Application RD0003FF508F5B w3wp.exe 8.5.9600.16384 5215df96 clr.dll 4.0.30319.34014 52e0b86c c00000fd 0000000000195499 c60 01d02d4d77fdfb93 d:\windows\system32\inetsrv\w3wp.exe D:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll f5e4d6dc-9940-11e4-80bd-0003ff508f5b
Einfache Schritte, um diesen Fehler zu reproduzieren:
- Download dieses Beispielprojekt: http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/migrations-and-deployment-with-the-entity-framework-in-an-asp-net-mvc-application
- hinzufügen CloudServiceProject zu der Lösung und fügen Sie das Web-Projekt als Web-Rolle
- es veröffentlichen zu azurblau
- Durchsuchen Sie die Website und gehen Sie zum Studenten Registerkarte (dies trifft die Datenbank und der Initializer versucht, die Migrationen auszuführen).
- passiert das gleiche.
Tonnen von Forschungsaufwand, viele relevante Informationen, sogar eine Möglichkeit, das Problem vollständig zu reproduzieren. Nur ein upvote (meins). Verrückte Welt ... –
@GertArnold Ja:/seltsam, dass niemand zuvor auf dieses Problem gestoßen ist. Ich hatte es auf Codeplex gemeldet und es wurde für die Untersuchung zugewiesen: [https://entityframework.codeplex.com/workitem/2637](https://entityframework.codeplex.com/workitem/2637) –
Möglicherweise verwandt: [Azure Cloud Der Dienst, der das Webrollenspeicherproblem (Webanwendung) ausführt (Gen2)] (http://stackoverflow.com/q/28022553/861716) –