ちゃっぴの監禁部屋

ガチガチに締めすぎて動きがとれなくなる。。。

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  405  : 記事  5  : コメント  12114  : トラックバック  134

ニュース

記事カテゴリ

書庫

日記カテゴリ

Communities

Personal Information

定番の問題ですが、私は VB6.0 で扱えるのであれば、VB6.0 で dll を作ってそれを利用するのが一番だと思ってます。

ASP.NETから別プロセスの起動

この方法が一番だと思うんだけどなぁ~。マジで。

DLL 側の公開する class を一つに絞っちゃえば、COM の開放めっさ楽ですし。

COM+ server application 使えば、Process を起動する user の password が process level で保護されるわけですし。

投稿日時 : 2007年6月21日 1:34

コメント

# re: .NET から COM を扱う 2007/06/21 7:40 渋木宏明(ひどり)
プロセス起動のコストが高いので、負荷の高いシステムではちょっときついかもしれませんね>COM を扱う部分を別プロセスで起動

# re: .NET から COM を扱う 2007/06/21 9:33 ちゃっぴ
> プロセス起動のコストが高いので、負荷の高いシステムではちょっときついかもしれませんね>COM を扱う部分を別プロセスで起動

COM を扱うからといってすべて別 porcess で起動しないといけないというわけではないです。

今回のように標準の権限だと難しい部分のみ別 process で起動したほうが良いということになります。

ただ、その場合でも .NET から COM を扱うのは厄介なので、VB6.0 で DLL を作成して呼び出したほうが良いと思いますが。

それから、別 process での起動ですけど、COM+ を使ってやった場合には、一つの COM+ application に1つの process となるため、心配するような負荷の増大にはつながらないと思います。
# 実際かなり多くの COM+ application を host した Web/AP server
# ありましたが、対して負荷大きくありませんでしたし。

そういう意味だと、session 毎に EXE kick するやり方が最低ですかね。

# re: .NET から COM を扱う 2007/06/21 11:11 渋木宏明(ひどり)
すみません、引用記事がプロセス起動してるだけで、このエントリの冒頭には「VB6.0 で dll を作って」とありましたね (^^;

XP 以前では、VB6 で DLL を作る=ActiveX DLL を作る=システムへの登録が必須なのがやや痛いかなー

Excel なんかを呼び出すところは VBScript/JScript で作って、それを間単に扱えるようなクラスを作ってみてもいいかもしれませんね。


# re: .NET から COM を扱う 2007/06/21 20:46 ちゃっぴ
> XP 以前では、VB6 で DLL を作る=ActiveX DLL を作る=システムへの登録が必須なのがやや痛いかなー

Client へ配布する必要がある場合には面倒ですね。
SMS とかにしたってそれなりに手間かかりますので。

Server の場合には、数が少なければ大して問題にならないでしょう。
多い場合は、Application center とかほしくなるなぁ。

> Excel なんかを呼び出すところは VBScript/JScript で作って、それを間単に扱えるようなクラスを作ってみてもいいかもしれませんね。

こちらのほうが厄介です。
複雑な処理の場合でまともな例外処理加えるとなると、C# でやったほうがマシじゃないかと思います。
# とくに VBScript のことをさしてます。

Post Feedback

タイトル
名前
Url:
コメント