0

HttpModule から ASP.NET ページを永続的に、または時々更新する必要があります。

ページを更新するための IUpdatablePage インターフェイスのコードを次に示します。

    interface IUpdatablePage
    {
       void Update( string value );
    }

HttpModule のコードは次のようになります。

    void IHttpModule.Init( HttpApplication application )
    {
       application.PreRequestHandlerExecute += new EventHandler( application_PreRequestHandlerExecute );
    }
    void application_PreRequestHandlerExecute( object sender, EventArgs e )
    {
       this._Page = ( Page )HttpContext.Current.Handler;
    }

    void HttpModuleProcessing()
    {
       //... doing smth

       IUpdatablePage page = this._Page as IUpdatablePage;
       page.Update( currentVaue );

       //... continue doing smth
    }

ここでは:

  1. 現在のリクエスト ページを _Page に保存し、
  2. HttpModule での処理中に IUpdatablePage インターフェイスにアクセスする
  3. currentValue を渡して Update 関数を呼び出します。

これで、ページは Update 関数で値を取得します。

    public partial class MyPage: System.Web.Page, IUpdatablePage
    {
       void IUpdatablePage.Update( string value )
       {
          // Here we need to update the page with new value
          Label1.Text = value;
       }
    }

問題は、この値を Web フォーム コントロールに送信して、すぐにブラウザに表示する方法は何ですか?

UpdatePanel、Timer、iframe ブロック、javascript などを使用して、ページを更新する方法を考えます。

ページからのリクエストは、更新中に HttpModule で処理されていることに注意してください。コードサンプルを手伝ってください(私はウェブ初心者です)。

4

1 に答える 1