1

私の asp.net-mvc アプリケーションには、レガシー ページを表示するページを含める必要があります。このページの本文は、既存の Perl スクリプトを呼び出して作成されます。この Perl スクリプトは外部でホストされています。

このようなことをする方法はありますか:

<!-- #Include virtual="http://www.example.com/theScript.plx"-->
4

3 に答える 3

2

ASP.NET サーバー側インクルードでは、サーバーでページをコンパイルする必要があるため、直接インクルードとしてではありません。

ページの読み込み時にjQueryを使用してその URL から HTML をダウンロードすることもできますが、それが完全ではないことは承知しています。

別の方法として (これが機能するかどうかはわかりません) 、ASP.NET MVC コントローラーから perl Web ページに対してWebRequestを実行し、結果の HTML をビューにテキストとして配置することもできます。そうすることで、出力キャッシュなどを利用して、perl ページが頻繁に変更されない場合にヒットを制限することができます。

于 2009-09-30T11:23:04.950 に答える
1

すべてを一度に実行したい場合は、サーバーから HTTP リクエストを実行して、コンテンツをページに書き込むことができますか?

このようなもの:

Response.Write(GetHtmlPage("http://www.example.com/theScript.plx"));

このメソッドを呼び出す:

public String GetHtmlPage(string strURL)
{
    // the html retrieved from the page
    String strResult;
    WebResponse objResponse;
    WebRequest objRequest = System.Net.HttpWebRequest.Create(strURL);
    objResponse = objRequest.GetResponse();
    // the using keyword will automatically dispose the object 
    // once complete
    using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
    {
        strResult = sr.ReadToEnd();
        // Close and clean up the StreamReader
        sr.Close();
    }
    return strResult;
}

(ほとんどのコードはここから露骨にリッピングされているため、チェックされていません)

于 2009-09-30T12:17:53.083 に答える
0

フレームを使用し、フレーム ソースを含める必要がある URL に設定するだけで、控えめな方法でこれを実装できます。これは非常に単純で、サーバー側またはクライアント側のスクリプトがなくてもダウンする可能性があるため、可能であれば、それが私の好ましいアプローチです。

ただし、htmlがサーバーから来ているように見せたい場合は、手動で含める必要があります-通常はWebRequestNeilが言うように使用します. パフォーマンスのためにリモート ページをキャッシュすることをお勧めしますが、これは perl スクリプトであるため、ページが動的であると想定しているため、これは良い考えではないかもしれません。

于 2009-09-30T11:26:55.783 に答える