asp.netには、Webサイトを適切にシャットダウンできるapp_offline.htmがあります。クライアントに同様の機能を実装したいと思います。フラグがオンの場合、メンテナンスモードに設定するフラグがあります。
- ユーザーがクライアントを起動すると、「システムはメンテナンス中です。30分後に再試行してください」などのプロンプトが表示されます。
- 新しい更新/削除/追加操作があれば、同様のメッセージが表示されます。
- 進行中のリクエストが処理されます。
これを実装する方法は?
asp.netには、Webサイトを適切にシャットダウンできるapp_offline.htmがあります。クライアントに同様の機能を実装したいと思います。フラグがオンの場合、メンテナンスモードに設定するフラグがあります。
これを実装する方法は?
アプリケーションアーキテクチャの違いを考えると、これは、すべての人に役立つ「万能」タイプのソリューションになるものではありません。
Webアプリケーション用のapp_offline.htmlは、まさに「大ハンマー」アプローチです。アプリはダウンしています、はい、それは優雅ですが、それは100%ハードストップです。
アプリケーション内でこれを行うための基本的な方法は、「オンライン」などの定期的なサービス呼び出しを行うことです。falseが返された場合は、現在のフォームを強制終了してスプラッシュページを表示します。
しかし、これは実際にはアーキテクチャに依存します。
クライアントを起動するときに条件を設定できますが、app_offline.htmのような同じ動作が必要な場合は、すでに開いているクライアントを保守下に置くこともできます。
この場合、Winformsアプリ全体でイベントをインターセプトするために、 MessageFilterをインストールできます。