- - PR -
System.ServiceProcess 名前空間の利用法
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-09-19 15:44
こんにちは。いつもお世話になっています。
現在、.NETで作ったWindowsApplicationをWebアプリケーションから 呼び出して実行したいと考えてます。 同時にデータベースの更新も行いたいので、リンクで呼び出す (ノータッチ・デプロイメント)方法でなく、ボタンのクリックで メソッドを呼び出し、メソッドの中でWindowsApplicatonを呼び出したいと 思っています。 ドキュメントを調べてみたところ、System.ServiceProcess 名前空間を 利用すればいいのではないかと思ったのですが、具体的にどのように 使えばいいのかが分かりません。 どなたかご伝授お願いします。 | ||||||||||||
|
投稿日時: 2003-09-19 16:00
ということはクライアント(ブラウザ)側でWindowsアプリケーションを、ノータッチ・デプロイメントの方法で実行したいのですね。Webサーバ側ではなく。 ということは、
は使いません。あくまでもWebサーバ側のプロセス空間になります。 しかも「サービス」に関するものですから、Windowsアプリケーションを実行するものでもないし……。
ボタン押下処理メソッドの中で、DBを更新したあと、WindowsアプリケーションのURLに「リダイレクト」すればいいように思います。 [ メッセージ編集済み 編集者: ぢゃん♪ 編集日時 2003-09-19 16:02 ] | ||||||||||||
|
投稿日時: 2003-09-19 16:23
こんにちは。回答ありがとうございます。
いいえ、Webサーバー側でノータッチでプロイメントを使わずにで実行したいのです。(書き方が悪かったんですね、すみません ![]()
それも考えたのですが、DBの内容をデータグリッドで表示しているので、そうすると、 DBの更新がデーグリッドに反映されないと思うのです。さらに呼び出そうとする Windowsアプリケーションはファイルを削除するプログラムなので、失敗時には DBの操作をロールバックしなくてはいけません。なのでプログラムの成功/失敗が 返ってこないといけません。 「Execメソッドというのが使えるのではないか」と先輩からはいわれたのですが、 これも使い方が分からず・・・。 どうかよろしくお願いします。 _________________ | ||||||||||||
|
投稿日時: 2003-09-19 16:32
> それも考えたのですが、DBの内容をデータグリッドで表示しているので、…
根本的に前提(つまりサーバ側かクライアント側かという話です)が異なってしまっているので、細かいことをいう以前にこの方向で考えても無理となります。 Process クラスとかで普通に出来そうではありますが、プロセスを起動すると、パフォーマンス的にやや重いような気もします(.NETのアプリケーションの場合)。 頻繁に(同時に多数)起動されるようなものでなければ問題ないかもしれませんが。 | ||||||||||||
|
投稿日時: 2003-09-19 22:29
まあ、この場合はSystem.Diagnostics.Processでしょう。 ただ気になるのは、パフォーマンスもそうですが、実行するWindowsアプリケーションがバッチ処理的(GUIを持たず、自然に終了する)か、Windowsフォーム的(GUI操作)か、ですね。 Windowsフォーム的だとすると無謀です ![]() バッチ処理的だとしても、終了を検出する必要があるかどうか(←プロセスの監視が必要です)。 バッチ処理的で、かつ実行したまま放置していいプログラム、というのなら比較的簡単ですけど。 |
1