0

サブサイトでファイルを実行したいと思います。親サイトとサブ サイトの両方が Web アプリです。サブサイトファイルにリダイレクトしたくありません。Server.Execute() を使用してサブファイルを実行しようとしていますが、機能していません。

メイン URL は http://mysite.com/subsiteです。

サブサイト内のファイルへの仮想パス: ~/subsite/subfile.aspx

http://mainsite.com/subsite/subfile.aspxにアクセスすると、正常に動作します。私がする時

Server.Execute("~/subsite/subfile.aspx")

親サイトから、私は得る:

Could not load type 'Subsite.SubFile'.

私が間違っていることはありますか?

4

1 に答える 1

1

server.executeアプリケーションの境界を越えないと確信しています。私はそれについて 100% 確信しているわけではありません。しかし、エラーメッセージを考えると、そう思われます。

Subsite.SubFile基本的に、エラーは、クラスが定義され ているアセンブリを見つけられない (または読み込めない) ことを示しています。

考えられる解決策は 2 つ考えられます。

  1. サブサイトのアセンブリをメイン サイトの bin フォルダーにコピーします。これは、メイン サイトがアセンブリを見つけてコードを実行できるため、機能する可能性があります。ここには明らかな欠点があります。サブサイトのすべての構成情報をメイン サイトの web.config にコピーする必要がある場合などです。また、同じ名前のアセンブリには問題があります。そしてもちろん、更新があるたびにメイン サイトの上にサブサイトを展開する必要があります...

  2. server.execute;を実行する代わりに このクラスを使用しHttpRequestて、サブ サイトに対して通常の http 呼び出しを行い、応答を解析して、必要なものをブラウザーに書き戻します。

于 2013-03-21T19:20:26.673 に答える