クリーンなボックスでのレガシー アプリのホスティングを反映するという私の進行中の物語で、私は次の障害にぶつかりました。1 つのページは、大きな .NET UserControl に依存しており、新しいマシンではグレー表示された大きなテキスト領域としてのみレンダリングされます (右端の垂直スクロールバーがグレー表示されます。ソースを調べると、予想されるobject
タグが表示されます)。
ホストされている UserControls と 2002 年から 2004 年までのすべてのディスカッション データについて誰もよく知らないように見えるため、これは特に注意が必要です。
このページは非常にシンプルです。
<%@ Page language="c#" Codebehind="DataExport.aspx.cs" AutoEventWireup="false" Inherits="yyyyy.Web.DataExport" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html>
<head>
<title>DataExport</title>
<link rel="Configuration" href="/xxxxx/yyyyy/DataExport.config">
</head>
<body style="margin:0px;padding:0px;overflow:hidden">
<OBJECT id="DataExport" style="WIDTH: 100%; HEIGHT: 100%; position:absolute; left: 0px; top:0px"
classid="yyyyy.Common.dll#yyyyy.Controls.DataExport"
VIEWASTEXT>
</OBJECT>
</body>
</html>
参照された設定ファイル:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="yyyyy">
<section name="dataExport" type="yyyyy.Controls.DataExportSectionHandler,yyyyy.Common" />
</sectionGroup>
</configSections>
<yyyyy>
<dataExport>
<layoutFile>http://vm2/xxxxx/yyyyy/layout.xml</layoutFile>
<webServiceUrl>http://vm2/xxxxx/yyyyy/services/yyyyy.asmx</webServiceUrl>
</dataExport>
</yyyyy>
</configuration>
私がチェックしたこと:
- セキュリティ権限は問題ないはずです。サイトは信頼されており、URL 例外を追加して FullTrust を許可しても何も変わりません。
- 構成ファイルは Web 経由でアクセス可能、layout.xml はアクセス可能、ASMX は予想されるコマンド リストを表示
- Machine.config は、usercontrol.config ファイルに GET 権限を付与します。
おそらく私には怪しいと思われるもの:
- DataExport UserControl は、エクスポートするスプレッドシートを生成するために Aspose.Excel を参照します。
- ページに移動して空白のテキスト ボックスを取得し、実行する
gacutil /ldl
と、ローカル ダウンロード キャッシュには何もありません。作業中のマシンで、ページを表示した後に同じコマンドを実行すると、コントロール DLL と Aspose DLL を含む DLL のランドリー リストが表示されます。