5

Web アプリケーションのように内部ユーザーのブラウザー (IE8) に表示したい従来の Windows フォーム アプリケーションがあります。私が検討しているアプローチは、Windows フォーム ライブラリ (dll) を作成し、それをブラウザーに表示することです。これを行う方法を教えてくれる多くのWebページがあります。

しかし、私はそれを機能させることができません。簡単な Windows コントロール ライブラリを作成し、DLL をビルドしました。これを IIS 7.5 サイトのトップ レベル ディレクトリに、次のような html ファイルと共に配置します。

<html>
   <body>
    <object id='c' classid='http:TestWinCtrlLib.dll#TestWinCtrlLib.UserControl1' height='300' width='400'>
    </object>
  </body>
</html>

私のブラウザには、左上に小さな「画像」アイコンが付いた 300x400 のボックスが表示されます。最初、IIS は .dll ファイルの提供を拒否し、403.2 および 401.2 エラーが発生しましたが、今では IIS パーミッション プロパティを正しく設定しました。ログは、ファイルが正常に提供されていることを示しています。

2012-05-01 01:28:50 ::1 GET /form.html - 8008 - ::1 Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+6.1;+WOW64;+Trident/4.0;+SLCC2;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30729;+.NET4.0C;+.NET4.0E) 200 0 0 1
2012-05-01 01:28:50 ::1 GET /TestWinCtrlLib.dll - 8008 - ::1 Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+6.1;+WOW64;+Trident/4.0;+SLCC2;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30729;+.NET4.0C;+.NET4.0E) 200 0 0 23

何が問題なのかさえわかりません。上記の最初のリンクにはエラー報告に関するセクションがあり、これらのキーをレジストリに追加しましたが、エラーは表示されません。エラーが標準出力に表示される可能性がある場合に備えて、cmdプロンプトからiexploreを起動しようとしましたが、何もありませんでした。

エラー報告

コード ダウンロード プロセスでは、次の 2 つのレジストリ設定を使用して、Internet Explorer を使用して展開されたマネージ コード実行可能ファイルからのエラー レポートを制御します。

  • HKLM\Software\Microsoft.NETFramework\ExposeExceptionsInCOM
  • HKCU\Software\Microsoft.NETFramework\ExposeExceptionsInCOM

...

Internet Explorer を使用して展開するマネージ コードをデバッグする場合、これらの設定の値を使用して、コード ダウンロードの失敗に関する詳細情報を見つけることができます。たとえば、これにより、開発者ではなくエンドユーザー向けに設計された Internet Explorer が提供するエラー報告に頼る代わりに、例外がスローされたときにスタック トレース情報を表示できます。

この機能がサポートされなくなった可能性はありますか? 私が見つけた参考文献のほとんどは、2007 年から 2010 年のもののようです。おそらく、 ClickOnceがこれを行う唯一の方法です。それを機能させることはできますが、コードはブラウザー内ではなく、独自のウィンドウで実行されます。

.Net フレームワーク 3.5 Client Profile と 4.0 Client Profile を使用してライブラリをコンパイルしようとしました。しかし、彼らは同じ結果を与えるようです。

どんな助けでも大歓迎です - ありがとう。

4

1 に答える 1

1

代わりに、リモート デスクトップ サービスを使用することを検討してください。ActiveX 上で動作するため、Internet Explorer のみがサポートされます (ただし、IE 以外のブラウザや携帯電話を介して RDS にアクセスできるサードパーティのソリューションがあります)。

ガイドとドキュメントについては、http: //technet.microsoft.com/en-us/library/dd647502( v=ws.10)にアクセスしてください。

于 2012-06-04T21:31:45.390 に答える