3

定期的に更新する必要がある小さな Web アプリ (Mvc) があります (ftp またはその他のアクセスなし)。

アプリの「スーパー ウルトラ メガ管理者」ページから直接更新プロセスをスピンアップできるようにしてください。

これが最善のセキュリティ アプローチではないことはわかっていますが、私はそれを受け入れることができます。実際には必要ないのに、新しいバージョンに対して継続的に ping を実行する永続的なサービスは避けたいと考えています。

私が今考えているのは、保護されたWebページから次のように呼び出すことができる正しい書き込み許可資格情報を持つWindowsサービスを用意することです:

  • iis サービスを停止します (必須ではありません)。
  • セキュリティで保護された URL を介してアプリの最新バージョンをダウンロードします (zip ファイル)
  • サーバー上の圧縮された古い Web アプリをディレクトリ (c:\backups\v1_01102010.zip) にバックアップします。
  • ダウンロードしたzipファイルをWebアプリのディレクトリに解凍します
  • IISを再起動します
  • (最終的にプロセスを元に戻すことができます)

このようなものはすでに存在しますか?

この単純なプロセスには複雑すぎると思われる、主に winform またはデスクトップ アプリケーションを対象とした .net の自動アップデーターを多数見てきました。

レジストリを作成または変更する必要はありませんが、ユーザーの操作なしで zip の抽出を自動化するだけです。

4

1 に答える 1

1

Web サービスを作成する場合、ファイルの圧縮と解凍を処理するのはそれほど難しいことではありません。C# 内で使用できる zip ライブラリがあります ( http://www.icsharpcode.net/OpenSource/SharpZipLib/ )。IIS の停止と開始は、ServiceController クラス ( http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicecontroller.aspx )を使用して実行できます。

于 2010-01-18T15:03:43.540 に答える