5

ビットマップの貼り付けに対応した Flash コントロールがないようなので、自分で書いてみたいと思います。Flash は使いたくないので、.NET を使用することにしました。

ダウンロードしてブラウザで実行できるネイティブ コード コントロールの正しい用語は、「ActiveX コントロール」だと思います。私の質問は、このような ActiveX コントロールを .NET で作成できますか?

Web でいくつかのチュートリアルを見つけましたが、それらはすべて、アセンブリがローカル マシンにインストールされていること、アセンブリとそれにアクセスしている Web サイトの両方が登録され、信頼されていることを期待しています。

これは、潜在的な匿名のインターネット ユーザーに少し多くのことを要求しています。イントラネット ユーザーにとっても、別の展開方法が望ましいでしょう。

これまたはその ActiveX コントロールをダウンロードするように求められた Web サイトをはっきりと覚えています。また、Flash や Java などのブラウザ プラグインを必要とするページでは、そのメディア タイプのプラグインを取得する場所をブラウザが認識するメカニズムがいくつかあります。

だから私の質問は2つあります:

  • ユーザーのブラウザーで実行できるコントロールを .NET で作成できますか?
  • 達成できる (半) 自動配信の最良の方法は何ですか?

サニーへの返答:

はい、多くの JavaScript リッチ テキスト エディターでは、リンクされた画像をテキスト フィールドに貼り付けることができ、正しい <img> タグが挿入されます。ただし、これは既に Web 上にある画像に対してのみ機能します。クリップボードからランダムなビットマップをコピーして貼り付けるだけで、新しい画像をアップロードしたいと考えています。

4

3 に答える 3

5

IE のみでよろしければ、私は Active-X よりも IE ホスト コントロールのセキュリティ モデルが好きですが、2009 年 1 月 1 日現在、Microsoft は .NET を使用して IE を拡張することを (進行中) 廃止するため、XBAP は問題ありません。 、ただし、ActiveX コントロールまたは IE Hosted コントロールではありません。

更新 7/13: Microsoft は、インプロセス拡張機能の実装に関するガイダンスを公開しました。それはまだ推奨されていません。

編集: レジストリを微調整しなくても、IE8 はイントラネットまたは信頼ゾーンからのみ .NET ホスト コントロールをロードするため、一般的なインターネット使用では、ブラウザ内の完全な信頼アクセスには Active-X が必要です。

Russ の投稿のフォローアップ: Silverlight がクリップボードにアクセスできない: http://silverlight.net/forums/t/13024.aspx

IE のホストされたコントロールに関する情報のほとんどはブログにあるので、http://www.google.com/search?q=ie+hosted+control+site: msdn.comを使用して検索します。以下は、私が特に便利だと思ったものです。

すばやく簡単に制御: http://blogs.msdn.com/mikechr/archive/2006/11/28/writing-a-simple-managed-control-under-ie.aspx

セキュリティに関する奇妙な点は、「証拠」が URL でない限り、アセンブリは信頼されている可能性がありますが、ドメインではなく、アサートを修正する必要がある場合です: http://blogs.msdn.com/carloc/archive/2006/11/01/コード アクセス セキュリティ ホスティング コントロール イン ie.aspx

これは、マニフェストを使用して 3.5 で「修正」されています。正しく理解するのは複雑なので、Shawnfa の .NET Security Blog for the .NET 3.5 Betaからマニフェストを使用する手順を参照し、 GA .NET 3.5を投稿してください。Todd の Random Discovery ブログにも、ホストされたコントロールのマニフェストを作成する手順が記載されています。

これは、セキュリティの設定に関する KB 記事から役立つことがわかりましたが、まだ CAS についてかなりのことを学ぶ必要があります: http://support.microsoft.com/kb/892466。これはおそらく、(.net) Active-X と IE でホストされるコントロールのどちらを使用するかを決定する際の主な考慮事項です。つまり、どのセキュリティ モデルがあなたとあなたのユーザーにとって最適に機能するかということです。私の希望は、マニフェストを使用することで、IE のホストされたコントロールがクリック 1 回のように機能し、ユーザーが「信頼」するように求められ、システムによって正しい設定が作成されることです。私の会社では、ユーザーのセキュリティ設定を自動化できるので、ホストされた ie を選択しました。

私が理解できなかった 1 つのことは、UI のないコントロールの (User) コントロールから継承する必要があるかどうかでした。そうするほうがうまくいきましたが、オブジェクトタグが存在するdivを「非表示」にする必要がありました.

コントロールをロードしたら、デバッグ用にコンパイルし、「マネージ」デバッグ用に IE にアタッチすると、コントロールを簡単にデバッグできます。コントロールをロードできない場合は、フュージョン アセンブリ バインディング ビューアー ( http://msdn.microsoft.com/en-us/library/e74a18c4.aspx ) および IEHost トレースをオンにする方法 ( http: //support.microsoft.com/kb/313892ロード プロセスをデバッグするため。

アセンブリのすべてのバージョンを必ずバージョン管理してください。そうしないと、IE が混乱し、ダウンロード キャッシュ内のアセンブリが異なっていても、URL が参照するものと同じバージョン # を持つ場合に、コントロールが読み込まれません (gacutil /cdl は .net ダウンロード キャッシュをクリアします)。

于 2009-01-12T23:11:47.810 に答える
2

「IEでホストされているWinforms」を検索します。私は数年前に同じようなことをしなければなりませんでした、そしてそれは私がいくらか前進することができたところです。

注意すべき2つのこと:お気づきかもしれませんが、この質問はあまり頻繁に出てこないため、例は限られています。(私はもう共有するものがありません、ごめんなさい)。また、.NETのセキュリティモデルはCOMベースのActiveXとは大きく異なるため、これをIEのさまざまなセキュリティゾーンで機能させるには少し注意が必要です。

Silverlight 2を使用できる場合は、おそらくその方向に傾くでしょう。

于 2008-11-18T17:17:21.443 に答える
0

ActiveX を使用すると、IE と Windows のみに制限されます。google docs や gmail を調べて、javascript のみを使用して電子メール/オンライン ドキュメントに画像を貼り付ける方法を確認してください。そこにあるほとんどのブラウザとOSで問題なく動作します。

于 2008-11-19T14:46:15.787 に答える