- PR -

[ASP.NET] 独自コンポーネントの作成について

1
投稿者投稿内容
こばさん
大ベテラン
会議室デビュー日: 2004/03/17
投稿数: 147
投稿日時: 2004-04-09 03:23
 ASP.NETで開発を進めています。
 クライアント側のCOMポートにデータを出力する機能をスマートに実現したいと思ってます。

 いまは例えば、Test.exe という単体のプログラムをクライアント側に配置し、特定の拡張子のファイルを叩くと起動するようにレジストリをいじって準備しておきます。
 サーバー側からその拡張子のファイルをダウンロードさせ(「開く」を押してもらい)、クライアント側で Test.exe が立ち上がってそのファイルの中身を見て処理(COMにデータを吐く)、という苦肉の策でしのいでいます。
 
 ちなみに、COMにデータを吐くだけで逆向きのデータの流れ(クライアント→サーバー)はありません。

 ASP(非.NET)であれば、ActiveXコンポーネントをユーザーにダウンロードしてもらえば、クライアント側のローカルな資源にアクセスしたソフトを動かすことが出来たと思います。
 先ほどの拡張子を使った方法よりもスマートだと思ってます。
 
 が、ASP.NETの場合の方法、糸口が全くつかめません。
 突破口(参考になるURL)だけでもご教示下されば嬉しいです。

※セキュリティのことは無視できます。(イントラ内なので)
※ブラウザもIE6限定でも構いません。
よねKEN
ぬし
会議室デビュー日: 2003/08/23
投稿数: 472
投稿日時: 2004-04-10 00:45
引用:

こばさんさんの書き込み (2004-04-09 03:23) より:
 ASP.NETで開発を進めています。
 クライアント側のCOMポートにデータを出力する機能をスマートに実現したいと思ってます。



Webアプリでクライアントに何かしようというのがそもそも間違っていると思いますが・・・

引用:

 ASP(非.NET)であれば、ActiveXコンポーネントをユーザーにダウンロードしてもらえば、クライアント側のローカルな資源にアクセスしたソフトを動かすことが出来たと思います。
 先ほどの拡張子を使った方法よりもスマートだと思ってます。



ActiveXを使ってよいのであれば、そのようにすればよいのでは?

引用:

 が、ASP.NETの場合の方法、糸口が全くつかめません。
 突破口(参考になるURL)だけでもご教示下されば嬉しいです。

※セキュリティのことは無視できます。(イントラ内なので)
※ブラウザもIE6限定でも構いません。



ASP.NETではないですが、セキュリティ無視ならノータッチデプロイメントで
やりたいことができるかもしれません。
2004/4月号のdotNetマガジンでノータッチデプロイメントの特集記事があります。
こばさん
大ベテラン
会議室デビュー日: 2004/03/17
投稿数: 147
投稿日時: 2004-04-10 10:19
 ありがとうございます。

引用:

Webアプリでクライアントに何かしようというのがそもそも間違っていると思いますが・・・



 コンポーネントの配布容易性および保守管理の面からブラウザ化することにしたのです。
(ありがちな理由ですが・・・)

 商品一覧を表示して選択したものの値札シールを発行したりっていう用途です。
 値札シールのプリンターが RS232C なのです。

 平行して色々と探ってました。
 GrapeCity の ActiveReport .NET(WEB)で、専用ActiveXビューアを使う ASP.NET のサンプルを見つけました。
 HTMLソースに、<OBJECT>タグを直挿入する手法でした。
 全然 .NET らしくない手法です。(やはり仕方ないんですね)

 VS.NET では ActiveX は作れない?ような話を聞いたことあります。
 となると、VB6で目的の ActiveX を作って cab化 して使うイメージになりそうです。
 コンポーネントに署名入れれば「本物」になりそうですが、ひとまずは「信頼されたサイト」に登録してもらって緩いセキュリティゾーンで動作させてもらうことにします。

 次は、バーコードスキャナで取り込んだデータを ASP.NETフォームに POST するプログラムが待ち受けてます。。。


 何はともあれ、ありがとうございました。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-04-12 08:38
 ノータッチデプロイメントは、選択肢に入りませんかね?
こばさん
大ベテラン
会議室デビュー日: 2004/03/17
投稿数: 147
投稿日時: 2004-04-12 11:12
引用:

Jittaさんの書き込み (2004-04-12 08:38) より:
 ノータッチデプロイメントは、選択肢に入りませんかね?



 アイデア、ありがとうございます。
 ノータッチデプロイメントはクライアントのローカルリソースへのアクセスが相当制限されていると思います。
 クライアント側のCOMポートは制御できないと思っていたのですが、可能なのでしょうか?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-04-12 13:32
引用:

こばさんさんの書き込み (2004-04-12 11:12) より:

 ノータッチデプロイメントはクライアントのローカルリソースへのアクセスが相当制限されていると思います。
 クライアント側のCOMポートは制御できないと思っていたのですが、可能なのでしょうか?


> ※セキュリティのことは無視できます。(イントラ内なので)
> ※ブラウザもIE6限定でも構いません。

 と言うことですよね?特定サーバから起動するアセンブリをFullTrustにすれば、ローカルで起動するのと同じになります。この、設定の変更は、AD環境ならサーバから一括送信、そうでないなら、インストールパッケージを作って配信します。配信は1度だけ行えばよく、プログラム自身はサーバサイドを置き換えれば、クライアントはすべて置き換わったものを参照します。
1

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