Ich habe einen Stateful-Service, der Dinge in einem IReliableDictionary speichert. Nach dem Deployment auf den lokalen Cluster habe ich den primären Knoten neu gestartet, um das Failover zu testen. Der Code StateManager.GetOrAddAsync> ("MyDictionary") löst jedoch FabricNotPrimaryException aus. In späteren Tests wird FabricObjectClosedException ausgelöst. Was sind einige der Dinge, die ich überprüfen kann, um dies zu beheben?Azure Service Fabric FabricObjectClosedException
Antwort
Der grundlegende Weg, um Fehler wie diese zu beheben ist zu fangen und protokollieren die Ausnahme ausgelöst wird:
try
{
using (var tx = StateManager.CreateTransaction())
{
await dictionary.AddOrUpdateAsync(tx, dto.Id, dto, (key, _) => dto);
await transaction.CommitAsync();
}
}
catch (FabricObjectClosedException ex)
{
ServiceEventSource.Current.Message(ex.ToString());
throw; // Pass the exception up as we only log it here.
}
jedoch Ihr Problem ein sehr einfachen Tippfehler wie eine fehlenden [DataContractAttribute]
auf einer DTO-Klasse sein könnte. In diesem Fall ist es möglicherweise einfacher, das Problem einfach zu beheben, um das Problem schnell zu verstehen und zu beheben. Dazu müssen Sie die System.Fabric.FabricObjectClosedException
zu Visual Studio sollten hinzufügen und dann aktivieren "brechen, wenn geworfen" im Debugger:
- Zeigen Sie die Exception Einstellungen Fenster (Debug>Windows->Exception Einstellungen)
- Wählen Sie die Common Language Runtime Exceptions Kategorie in der Liste der Ausnahmekategorien kategorien~~POS=HEADCOMP
- den grünen Klicken + (plus), um einen neuen Ausnahmetyp
- Typ System.Fabric.FabricObjectClosedException in dem Textfeld hinzuzufügen und schlug
eingeben Wenn ein neuer Ausnahmetyp die Pause hinzugefügt wird, wenn Geworfen Das Kontrollkästchen ist bereits aktiviert.
Das nächste Mal, wenn Sie Ihre Anwendung im Debugger ausführen, bricht der Debugger ab, wenn ein FabricObjectClosedException
ausgelöst wird, und Sie sollten verstehen können, was schiefgelaufen ist.
- 1. Azure-App-Service und Azure Service Fabric
- 2. Azure Service-Fabric Aktivierungsfehler
- 3. In Azure Service Fabric
- 4. Azure Service-Fabric Mandantenfähigkeit
- 5. Azure Service Fabric Routing
- 6. Azure Service Fabric Nachrichtenwarteschlange
- 7. Azure Service Fabric Instanzanzahl
- 8. Akteure in Azure Service Fabric
- 9. Azure Service Fabric: Unprovision Anwendungsversion
- 10. Azure Service Fabric- und API-Verwaltungsintegration
- 11. Design der Anwendung in Azure Service Fabric
- 12. Azure Service Fabric Vergrößern und verkleinern
- 13. Azure Application Gateway mit Service Fabric
- 14. Azure Service Fabric-Ressourcenbereitstellungsfehler Beendigungscode -532462766
- 15. Verwenden von NServiceBus mit Azure Service Fabric
- 16. Azure Service Fabric - Kontinuierliche Integration auf VSTS
- 17. Azure Service Fabric On-Premise-Lizenzierung
- 18. Azure Service Fabric Actor Wiederholungslogik bei Ausnahme
- 19. Geo-Redundanz in Azure Service Fabric-Anwendungen
- 20. Azure Service Fabric zuverlässige Dienste Zustand?
- 21. Implementieren des Datenbankfailovers in Azure Service Fabric
- 22. MVC-App auf Azure Service Fabric hosten
- 23. Azure Service Fabric WebAPI mit SignalR
- 24. Azure Service Fabric Paket erstellen Befehlszeile
- 25. Azure Service Fabric Publish Fehler: Microsoft.ServiceFabric.Powershell.UnregisterApplicationType
- 26. Azure Service Fabric - Verbesserung der lokalen Leistung
- 27. Azure Service Fabric 5.1.150.9590 On-Premise-Cluster
- 28. Hochverfügbares Service Fabric WebApi auf Azure gehostet
- 29. Azure Service Fabric ARM-Vorlage Provisionierung fehlgeschlagen
- 30. Azure Service-Fabric-Protokollierung Azure Diagnostics funktioniert nicht