3

これはできますか?そしてどうやって?

私は成功せずに次のことを試しました:

  • Method1 using BuildManager.CreateInstanceFromVirtualPath- 公開後に機能しません。(厳密な名前のアセンブリの事前コンパイルを使用しているため、失敗すると思いますが、わかりません)。

  • 次のコードを使用したMethod2 :

    Page page = new SchedulerTest();  // An ASPX Page class (note: CodeBehind) 
    page.AppRelativeVirtualPath =
    context.Request.AppRelativeCurrentExecutionFilePath; 
    page.ProcessRequest(context);
    

    ここにあるように-実行時にページクラス名がわからないため、機能しません。

4

1 に答える 1

0

わかりましたので、ここに私の考えがあります。

a) 実行時までクラスの名前がわからないのはなぜですか? クラス名がどうなるかをどのように解決しますか?関係を解決できる場合は、リフレクションを使用してページのインスタンスを作成し、それを使用できます。

b) 実際に何を達成しようとしていますか? 何らかの基準 (クエリ文字列など) に基づいてリクエストを別のリクエストにルーティングしようとしている場合は、HttpModule を使用してパスを書き換えることができます。あなたが他に何をしようとしているのか、私は苦労しています。このようにして、仮想パスを再び使用できます。

于 2012-07-29T17:21:46.743 に答える