- - PR -
ASP.NET vs プラグイン
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-05-19 18:44
ActiveX(or IEのプラグイン)を開発するためには、必然的に.NET上で現在動いているコードを、VC++7.0かVB6.0でアプリケーションをつくり直す事になります。相当量のコードを再記述する必要が生まれる事は容易に想像できます。 サーバーとの通信も問題です。ActiveXの利点を生かすなら、HTTPでサーバーとデータの送受信を行う事になるでしょう。この場合ASP.NETのポストバックアーキテクチャとの相性は悪いです。実装する上で様々な工夫が必要になるのではないかと。
所でJittaさんの書き込みにある「MS製品ありき」の部分はどうなんでしょうか? アプリケーションの配置コストを下げたいと言うのが主な理由なら、ノータッチデプロイメントで良いと思います。.NET Framework自体はWindows Updateから容易にインストール出来ますし。もちろんその結果、Windows以外や古いWindowsOSでは動作しなくなります。 インターネットで広く利用され互換性を重視する必要がある場合は、おのずとJavaAppletやFlashを選択する事になるでしょう。 | ||||||||||||
|
投稿日時: 2005-05-19 18:55
まずは、実際体験してみるといいでしょう。 http://www.atmarkit.co.jp/fdotnet/special/ntdeploy/ntdeploy_01.html の「ノータッチ・デプロイメントのサンプルへのリンク」 | ||||||||||||
|
投稿日時: 2005-05-20 10:21
>サーバーとの通信も問題です。ActiveXの利点を生かすなら、HTTPでサーバーとデータの送受信を行う事になるでしょう。この場合ASP.NETのポストバックアーキテクチャとの相性は悪いです。実装する上で様々な工夫が必要になるのではないかと。
この部分はかなり重要かもしれません。 度々私はプラグインがどうこうと言っていますが、 本当はデータ表示以外はASP.NETでやりたいのです。 ただ、なぜそうやって実装したのか?という根拠が欲しかったのです。 また、スマートクライアントでは.NET Frameworkのインストール、 それを使ってノータッチデプロイメントで自動配信するには、 IEのセキュリティ設定もしっかり考慮しなければならないのですね。 ある程度、ASP.NETベースのGUIによってユーザの満足が得られているのであれば、 わざわざリッチクライアントを用いる必要もない。 これらの点から結局、いままで通りの実装方法がよいのかもしれません。 | ||||||||||||
|
投稿日時: 2005-05-23 12:57
追加質問です。
ASP.NETで クライアントに保存された(プラグインで作成した)ファイルを サーバ側へ送信することは可能でしょうか? Webベースでファイル編集・送信ということは不可能?! 「やりたい処理の流れ」 クライアントからデータ表示要求→Webサーバ→クライアント →プラグインでデータ表示→プラグインで編集→ローカルに保存 →Webサーバへ送信→Webサーバでデータ更新処理 そもそもWebアプリでは無理でしょうか? | ||||||||||||
|
投稿日時: 2005-05-23 18:48
先にueさんが答えているように、プラグインではおよそソフトウェアで可能な事は全て可能です。したがってプラグインとの連携の中でファイルを送信する事はもちろん可能でしょう。 ASP.NETと標準的なWEBブラウザだけで・・・と言う事なら、ユーザーにファイル選択操作をWEBブラウザ上で行ってもらう必要がありますけどね。 ところでプラグインで・・・と言うのは文字通りプラグインを作ると言う事でよいの? FlashPluginを使うような事も言ってなかった?フラッシュならフラッシュと言わないと伝わらないよ。 _________________ 甕星 <mikahosi@abox9.so-net.ne.jp> http://blogs.msmvp.jp/mikahosi/ | ||||||||||||
|
投稿日時: 2005-05-23 19:42
甕星さん
お返事ありがとうございます。 クライアントの送信したいファイルが常に同じパス+ファイル名の場合、 ユーザ操作なしにASP.NETと標準的なWEBブラウザだけでサーバへファイルを 送信することは可能と考えてよいですね?(送信ボタンは押しますが) 実装にあたり、どんなコンポーネントを使えばいいのか調べましたがまだわかりません。 今は、ファイル送信、ASP.NETで検索しています。。。 ただ、プラグインで実装できるならプラグインでやってしまったほうが、 現実的なのでしょうか。 どうもWebベースでファイルのやりとりがピンと来ません。 また、私が言っているプラグインは全て自作(ActiveX+IE)です。 (現在この自作プラグインでデータ表示は可能) | ||||||||||||
|
投稿日時: 2005-05-23 21:22
いいえ。きっぱりと出来ません。 もしもそれが可能なら、WEBサーバーにアクセスしただけで、HDD内の任意のファイルを取得可能ということになってしまいます。もし可能なら特大のセキュリティホールですよ。そんなわけで「ユーザーがファイルを選択する」という操作を省くことは出来ません。
データを送受信するのが確定時一回だけならば、JavaScriptでActiveXコントロールのプロパティからデータを取り出し、HTML上のHIDDENコントロールにデータを設定。WEBサーバーに対してPOSTする。 データを頻繁にやり取りする、あるいはWEBサーバーとのレスポンスが問題になるなら、ActiveXが直接にサーバーと通信するのが良いかと。
じゃ、PluginではなくActiveXと言いましょう。Puginと言えば、機能拡張のためのコンポーネントの事でしかありません。相手に通じませんよ。 | ||||||||||||
|
投稿日時: 2005-05-24 08:57
仰る通りセキュリティホール以外のなにものでもないですね。
下記のように書けばクライアントのファイルをユーザに選択させ、 サーバへ保存することが可能ですね。 サーバ側ソースの sFile = sFile + System.IO.Path.GetFileName(File1.PostedFile.FileName); のFile1.PostedFile.FileNameにローカル実ファイル名を書いたところで サーバには空のファイルができるだけでした。
この部分がわからないのですが、 ファイルをActiveXコントロールのプロパティから取得して、 HIDDENコントロールに設定することは可能なのでしょうか? (ここで仰るデータとは?) [ メッセージ編集済み 編集者: BB.NK 編集日時 2005-05-24 08:58 ] |