- PR -

System.ServiceProcess 名前空間の利用法

1
投稿者投稿内容
どら吉
常連さん
会議室デビュー日: 2003/08/29
投稿数: 21
お住まい・勤務地: 福岡
投稿日時: 2003-09-19 15:44
こんにちは。いつもお世話になっています。

現在、.NETで作ったWindowsApplicationをWebアプリケーションから
呼び出して実行したいと考えてます。
同時にデータベースの更新も行いたいので、リンクで呼び出す
(ノータッチ・デプロイメント)方法でなく、ボタンのクリックで
メソッドを呼び出し、メソッドの中でWindowsApplicatonを呼び出したいと
思っています。

ドキュメントを調べてみたところ、System.ServiceProcess 名前空間を
利用すればいいのではないかと思ったのですが、具体的にどのように
使えばいいのかが分かりません。
どなたかご伝授お願いします。
ぢゃん♪
大ベテラン
会議室デビュー日: 2003/06/12
投稿数: 208
お住まい・勤務地: 都内
投稿日時: 2003-09-19 16:00
引用:

どら吉さんの書き込み (2003-09-19 15:44) より:
こんにちは。いつもお世話になっています。
現在、.NETで作ったWindowsApplicationをWebアプリケーションから
呼び出して実行したいと考えてます。


ということはクライアント(ブラウザ)側でWindowsアプリケーションを、ノータッチ・デプロイメントの方法で実行したいのですね。Webサーバ側ではなく。
ということは、
引用:

ドキュメントを調べてみたところ、System.ServiceProcess 名前空間を


は使いません。あくまでもWebサーバ側のプロセス空間になります。
しかも「サービス」に関するものですから、Windowsアプリケーションを実行するものでもないし……。

引用:

同時にデータベースの更新も行いたいので、リンクで呼び出す
(ノータッチ・デプロイメント)方法でなく、ボタンのクリックで
メソッドを呼び出し、メソッドの中でWindowsApplicatonを呼び出したいと
思っています。


ボタン押下処理メソッドの中で、DBを更新したあと、WindowsアプリケーションのURLに「リダイレクト」すればいいように思います。


[ メッセージ編集済み 編集者: ぢゃん♪ 編集日時 2003-09-19 16:02 ]
どら吉
常連さん
会議室デビュー日: 2003/08/29
投稿数: 21
お住まい・勤務地: 福岡
投稿日時: 2003-09-19 16:23
こんにちは。回答ありがとうございます。
引用:

ということはクライアント(ブラウザ)側でWindowsアプリケーションを、ノータッチ・デプロイメントの方法で実行したいのですね。Webサーバ側ではなく。


いいえ、Webサーバー側でノータッチでプロイメントを使わずにで実行したいのです。(書き方が悪かったんですね、すみません
引用:

ボタン押下処理メソッドの中で、DBを更新したあと、WindowsアプリケーションのURLに「リダイレクト」すればいいように思います。


それも考えたのですが、DBの内容をデータグリッドで表示しているので、そうすると、
DBの更新がデーグリッドに反映されないと思うのです。さらに呼び出そうとする
Windowsアプリケーションはファイルを削除するプログラムなので、失敗時には
DBの操作をロールバックしなくてはいけません。なのでプログラムの成功/失敗が
返ってこないといけません。
「Execメソッドというのが使えるのではないか」と先輩からはいわれたのですが、
これも使い方が分からず・・・。
どうかよろしくお願いします。
_________________
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2003-09-19 16:32
> それも考えたのですが、DBの内容をデータグリッドで表示しているので、…
根本的に前提(つまりサーバ側かクライアント側かという話です)が異なってしまっているので、細かいことをいう以前にこの方向で考えても無理となります。

Process クラスとかで普通に出来そうではありますが、プロセスを起動すると、パフォーマンス的にやや重いような気もします(.NETのアプリケーションの場合)。
頻繁に(同時に多数)起動されるようなものでなければ問題ないかもしれませんが。
ぢゃん♪
大ベテラン
会議室デビュー日: 2003/06/12
投稿数: 208
お住まい・勤務地: 都内
投稿日時: 2003-09-19 22:29
引用:

どら吉さんの書き込み (2003-09-19 16:23) より:
いいえ、Webサーバー側でノータッチでプロイメントを使わずにで実行したいのです。(書き方が悪かったんですね、すみません


まあ、この場合はSystem.Diagnostics.Processでしょう。

ただ気になるのは、パフォーマンスもそうですが、実行するWindowsアプリケーションがバッチ処理的(GUIを持たず、自然に終了する)か、Windowsフォーム的(GUI操作)か、ですね。
Windowsフォーム的だとすると無謀です
バッチ処理的だとしても、終了を検出する必要があるかどうか(←プロセスの監視が必要です)。
バッチ処理的で、かつ実行したまま放置していいプログラム、というのなら比較的簡単ですけど。
1

スキルアップ/キャリアアップ(JOB@IT)