- - PR -
WebアプリケーションにWindows Formsのコントロールを表示する方法
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2002-08-08 15:11
こんにちは。
この会議室の「ASP.NETは魔法の杖か?」のスレッドで、biacさんが
とおっしゃっていますが、この、Windows Formsを継承することについて書いてあるモノ(Webページ?MSDN?)を教えてください。 | ||||||||
|
投稿日時: 2002-08-08 17:28
私は、MSDN Magazine No.28 (6月18日発売) の記事を参考にしました。 http://www.ascii.co.jp/pb/msdn/toc/bn_no28.html > リッチクライアントの復権 > .NET拡張クライアントサイドアプリケーションのコードアクセスセキュリティ,分散機能 ※ このサンプルプログラムのパズルは、そのままでは上手く動きませんでした。 ※ 原文は Web で読めます。 http://msdn.microsoft.com/msdnmag/issues/02/06/rich/rich.asp > Return of the Rich Client > Code Access Security and Distribution Features in .NET Enhance Client-Side Apps 実際に、少しやってみたところ… ・System.Windows.Forms.Controls を継承したクラスであること。 ただし、Form は除く。 ・引数無しのコンストラクタが定義されていること。 ・サイズは明示的に指定すること。 (コンストラクタまたは <object> タグ内) ・呼び出せるのは、そのクラスで定義したメソッド/プロパティのみ。 (継承元にあるだけでは、呼び出せないみたい。) ・通信できるのは、HTML のある URL だけ。 それも HTTP(S) だけ。 ・ローカルリソースにはアクセス不可。 ただし、コモンダイアログでユーザが引き渡したファイルストリームなどは別らしい。 印刷も、コモンダイアログを使えば可能らしい。 …といったようなことが分かってきました。 ※ ごくごく簡単なサンプルを次に置いてあります。 f(^^; http://nadia.kabe.to/test/WinFormControlOnHTML/MyTextBox.html | ||||||||
|
投稿日時: 2002-08-08 17:47
>・呼び出せるのは、そのクラスで定義したメソッド/プロパティのみ。 (継承元にあるだけでは、呼び出せないみたい。)
>・通信できるのは、HTML のある URL だけ。 それも HTTP(S) だけ。 >・ローカルリソースにはアクセス不可。 ただし、コモンダイアログでユーザが引き渡したファイルストリームなどは別らしい。 印刷も、コモンダイアログを使えば可能らしい。 このあたりはコードアクセスセキュリティの領域なので、インターネットかイントラネットか?SP1は当たっているか?などによって変わります。たとえば、デフォルト+SP1があたっている状態では、インターネット環境から来たすべてのコードが実行できません。 | ||||||||
|
投稿日時: 2002-08-08 18:31
あ、そうでした。 f(^^; さっきのサンプルページも、信頼済みサイト に入れてやってください。 m(_`_)m > all | ||||||||
|
投稿日時: 2002-08-09 08:30
たまたま買っていました。 今日は事務所の配置換えがあるので、夏休みの間にでも読みます。 ありがとうございました。 | ||||||||
|
投稿日時: 2002-08-17 11:24
ども、Jitta@in北海道 です。通信制大学の面接授業中です。今更C言語なんて、教えてもらうことなんかねぇや!とも思ったのですが、素人さんの考え方、悩みどころは大変勉強になりますね。
MSDNの記事、読みました。「もしかして?」と思ってWindowsアプリケーションのあるディレクトリをIISで実行権をつけて公開し、IEのアドレスにexeファイルを指定すると・・・やはりWindowsアプリケーションが起動しました。こんなことしていいのだろうか? | ||||||||
|
投稿日時: 2002-08-17 12:44
> MSDNの記事、読みました。「もしかして?」と思ってWindowsアプリケーションの
> あるディレクトリをIISで実行権をつけて公開し、IEのアドレスにexeファイルを > 指定すると・・・やはりWindowsアプリケーションが起動しました。 > こんなことしていいのだろうか? この件については以下の記事が詳しいです。 日本語版はMSDNマガジンのNo.29に載っています。 http://msdn.microsoft.com/msdnmag/issues/02/07/NetSmartClients/default.asp クライアント側の実行権限をきちんと与えてやる必要がありますが、 アプリケーション自体をWebからダウンロードして実行できますね。 これとWebサービスをくみあわせれば、Webアプリケーションなんて いらないのではないかと思ってしまいます。 データをどんどん入力していくような業務系のアプリケーションを Webアプリケーションとして作成しようとすると結構大変だったり するので、これからこの手のアプリケーションがはやるのでは ないかと思ってるんですが。。。 #アプリケーションを保持してるWebサーバはIISでなくても よいし、WebサービスもうまくつくればサーバはWindowsじゃ なくてもいいし。。。 まぁ、クライアントはWindowsじゃないといけないけど そこにMicrosoftの狙いがあるかなぁ、、とか。。。 | ||||||||
|
投稿日時: 2002-08-17 13:23
補足すると、.NET F/W を入れた環境の IE5.01 以降では、ダウンロードだけしたくても、できません。 CLR (共通言語ランタイム) を必要とする exe をダウンロードだけしようとしても、勝手に実行しようとしてくれちゃいます。 ※ 「IE が CLR のホストになっている」と言うんだそうで。 実際には、mscorie.dll という MIME フィルタが噛まされて、それがアセンブリのダウンロードを監視していて、処理するそうです。 なお、勝手に実行されるのは怖い気もしますが、そのサイトに対する信頼度で実行されるわけです。 もしもダウンロードだけ出来てしまうと、それはフルトラストで実行されることになるわけで。
そう思います。 イントラネットでの C/S システムは、CLR ホストである IE 上で、あるいは IE から、アセンブリを実行しちゃえばいい、と。 なので、Web アプリケーションとして作るのは、素直な HTML で実現できる簡単なユーザーインターフェースのものだけでいいんじゃないか、と。 |