0

いくつかの異なるクライアントで使用される Web アプリケーションがあります。現時点では、変更を加えて終了を更新するプロセスは次のようになります。

  • アプリの公開/コンパイル
  • 関連ファイルをzipに入れます(クライアントごとに異なるdbパスとしてweb.configではなく、上書きしたくない)
  • すべてのストアド プロシージャに対して SQL Server でスクリプトを生成する
  • zip に追加
  • zip を Web にアップロード
  • 私が作成した WPF アプリは、クライアント サーバーから実行され、zip をダウンロードし、ファイルを Web アプリ フォルダーに抽出し、SQL サーバー ストアド プロシージャのスクリプトを実行します。

現在、これは機能しますが、クライアント エンドで IT 担当者が WPF アプリを実行して更新する必要があり、一部の IT 担当者がそれに到達するまでに数日かかる場合があります。私がやりたいことは、Web アプリ内から Web アプリを更新する機能を提供することです。FTP や Extract などを実行する DLL を作成できることはわかっていますが、これをページに進行状況を表示するにはどうすればよいですか?

または、だれかがサーバーにアクセスする必要なしに Web アプリを更新する代替手段がある場合、この方法では、利用可能な更新があるときにクライアントに知らせるのが難しくなるため、それは素晴らしいことです。

4

1 に答える 1

0

つまり、使用できます

[assembly: PreApplicationStartMethod(typeof(Your.Type), "MethodNameToCall")]

これは、プロジェクトの AssemblyInfo.cs ファイルで指定され、アプリケーションがデプロイされるたびにセットアップ コードを実行します。これは展開時に自動的に実行され、コピー/セットアップを行うことができます。おそらく、このコードから次の方法で WPF アプリを実行できます。

System.Diagnostics.Process

アップデート:

この投稿を読み直したところ、これが WPF アプリから Web ベースのアプリへの移行に関するものであることは明らかです。また、ポスターは、クライアント側でファイルシステムを更新しているコードから信号を返す方法を望んでいるようです....

必要な入力の複雑さに応じて、前後に移動するための 1 つまたは複数のページとナビゲーション システムが必要になる場合があります。

ただし、すべての入力が取得され、更新が開始されると、いくつかのオプションがあります.1つは「ハッキー」で、もう1つはそうではありません.

1 - ハッキー) window.location javascript と setTimeout を使用してページを更新し、セッション トラッキングを使用して、EWWWWW の後ろにコード化されたスレッドの進行状況を更新します...

2) setInterval を使用して ajax 関数を作成し、サーバーをポーリングします (おそらく、[WebMethod] 属性で装飾された呼び出し可能なメソッドを使用します。このメソッドは、任意のデータを ajax 呼び出しに送り返すことができ、それを使用して UI を更新します (おそらく何かを使用します)。 jqueryUIプログレスバーのような

注: ビン内の何かを置き換える場合は、web.config または実際には任意の .aspx ページに触れます。次に、サーバーを自動的に再起動します...この場合、外部から他のアプリケーションを更新する別のアプリケーションをコーディングする必要があります+接続しているユーザーに、シャットダウンがまもなく発生し、ブロックを開始することを通知する必要がありますアップグレードが完了するまで、新しいユーザーにはアクセスできません。

于 2012-10-02T12:31:17.213 に答える