Dies scheint wie eine schlecht definierte Anforderung.
Eine ernsthafte Wartung sollte zu einem bestimmten Zeitpunkt durchgeführt werden, und Benutzer sollten rechtzeitig auf dieses Zeitfenster hingewiesen werden.
Einfaches Neustarten von IIS ist ein ziemlich schneller Vorgang ... Gibt es einen Grund, warum Benutzer ihre Arbeit verlieren, wenn sie IIS einfach neu starten? Während ich diese StackOverflow-Antwort zum Beispiel ausgefüllt habe, könnten sie den Server ein Dutzend Mal neu gestartet haben. Sobald ich auf "Post" klicke, wird der Server entweder heruntergefahren und verlässt meine Arbeit im Textfeld, sonst wird die Verbindung erfolgreich hergestellt, wenn der Server wieder in der Zeit ist.
Wenn ich keine Daten einreiche, sondern nur auf einen Link klicke, gilt dasselbe: Entweder bricht der Browser ab, in diesem Fall reicht eine einfache Aktualisierung aus, wenn der Server wieder verfügbar ist oder der Benutzer schließlich dorthin gelangt Sie wollen gehen.
Wenn Sie reine AJAX-Anfragen machen, müssen Sie einen fehlenden Server selbst behandeln, anstatt sich auf den Browser zu verlassen, aber Sie müssten das sowieso wegen der acht Irrtümer von Distributed Computing erledigen # 1: "Das Netzwerk ist zuverlässig." (siehe http://en.wikipedia.org/wiki/Fallacies_of_Distributed_Computing)
Also würde ich tatsächlich auf diese Anforderung zurückdrängen. Sie verlangen von Ihnen, etwas zu tun, das nicht wirklich den Anforderungen entspricht (Benutzer verlieren keine Daten, haben eine recht gute Erfahrung), das wird kompliziert, und das wird am Ende eine spröde Lösung sein.
Ich mache das schon bei jeder Anfrage. Aber ich hoffe, diese Antwort vom Server selbst zu initiieren, nicht nach irgendeiner Benutzeranfrage. – Deb
Dann müssen Sie die Nachricht an den Client senden, was eine neue Anforderung ist. Sie können dies tun, indem Sie eine AJAX-Abfrage für eine Aktion auf dem Server verwenden. Die Serveraktion kann dann die Datenbank abfragen. – usr