BeginEventHandler デリゲートとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > BeginEventHandler デリゲートの意味・解説 

BeginEventHandler デリゲート

アプリケーション イベントなど非同期イベント処理するメソッド表します。このデリゲートは、非同期操作開始時に呼び出されます。

名前空間: System.Web
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Delegate Function
 BeginEventHandler ( _
    sender As Object, _
    e As EventArgs, _
    cb As AsyncCallback, _
    extraData As Object _
) As IAsyncResult
Dim instance As New BeginEventHandler(AddressOf
 HandlerMethod)
public delegate IAsyncResult BeginEventHandler (
    Object sender,
    EventArgs e,
    AsyncCallback cb,
    Object extraData
)
public delegate IAsyncResult^ BeginEventHandler (
    Object^ sender, 
    EventArgs^ e, 
    AsyncCallback^ cb, 
    Object^ extraData
)
/** @delegate */
public delegate IAsyncResult BeginEventHandler (
    Object sender, 
    EventArgs e, 
    AsyncCallback cb, 
    Object extraData
)
JScript では、デリゲート使用できますが、新規に宣言することはできません。

パラメータ

sender

イベントソース

e

イベント データ格納している EventArgs。

cb

非同期メソッド呼び出し完了したときに呼び出されるデリゲートcbnull 参照 (Visual Basic では Nothing) の場合、このデリゲート呼び出されません。

extraData

要求処理するために必要な追加データ

戻り値
BeginEventHandler 操作結果を表す IAsyncResult。

解説解説
使用例使用例

BeginEventHandler デリゲート使用してハンドラ非同期ページとして登録するコード例次に示します

<%@ page language="VB" Async="true"%>
<script runat="server">
  Dim myRequest As System.Net.WebRequest
  
  Sub Page_Load(ByVal sender As
 Object, ByVal e As EventArgs)
    Label1.Text = "Page_Load: Thread #" & System.Threading.Thread.CurrentThread.GetHashCode()
    
    Dim bh As New BeginEventHandler(AddressOf
 Me.BeginGetAsyncData)
    Dim eh As New EndEventHandler(AddressOf
 Me.EndGetAsyncData)
    
    Me.AddOnPreRenderCompleteAsync(bh, eh)
    
    ' Initialize the WebRequest object.
    Dim address As String
    address = "http://localhost/"
    myRequest = System.Net.WebRequest.Create(address)
    
  End Sub
  
  Function BeginGetAsyncData(ByVal src As
 Object, ByVal args As
 EventArgs, ByVal cb As AsyncCallback, ByVal state As Object) As
 IAsyncResult
    Label2.Text = "BeginGetAsyncData: Thread #" &
 System.Threading.Thread.CurrentThread.GetHashCode()
    Return Me.myRequest.BeginGetResponse(cb,
 state)
  End Function
  
  Sub EndGetAsyncData(ByVal ar As
 IAsyncResult)
    Label3.Text = "EndGetAsyncData: Thread #" &
 System.Threading.Thread.CurrentThread.GetHashCode()
    
    Dim myResponse As System.Net.WebResponse
    myResponse = Me.myRequest.EndGetResponse(ar)
    
    Dim reader As New System.IO.StreamReader(myResponse.GetResponseStream())
    result.Text = reader.ReadToEnd()
    myResponse.Close()
  End Sub
  
</script>
<html>
  <head runat="server">
    <title>
      Page.AddOnPreRenderCompleteAsync Example</title>
  </head>
  <body>
    <form id="form1" runat="server">
      <asp:label id="Label1" runat="server">
        Label 1</asp:label><br />
      <asp:label id="Label2" runat="server">
        Label 2</asp:label><br />
      <asp:label id="Label3" runat="server">
        Label 3</asp:label><br />
      <asp:textbox id="result" runat="server"
 textMode="multiLine" ReadOnly="true"
 columns="80" rows="25" />
    </form>
  </body>
</html>
<%@ page language="C#" Async="true"%>
<script runat="server">
  System.Net.WebRequest myRequest;

  void Page_Load(object sender, EventArgs e)
  {
    Label1.Text = "Page_Load: thread #" + System.Threading.Thread.CurrentThread.GetHashCode();

    BeginEventHandler bh = new BeginEventHandler(this.BeginGetAsyncData);
    EndEventHandler eh = new EndEventHandler(this.EndGetAsyncData);

    AddOnPreRenderCompleteAsync(bh, eh);

    // Initialize the WebRequest.
    string address = "http://localhost/";

    myRequest = System.Net.WebRequest.Create(address);
  }

  IAsyncResult BeginGetAsyncData(Object src, EventArgs args, AsyncCallback cb, Object
 state)
  {
    Label2.Text = "BeginGetAsyncData: thread #" + System.Threading.Thread.CurrentThread.GetHashCode();
    return myRequest.BeginGetResponse(cb, state);
  }

  void EndGetAsyncData(IAsyncResult ar)
  {
    Label3.Text = "EndGetAsyncData: thread #" + System.Threading.Thread.CurrentThread.GetHashCode();

    System.Net.WebResponse myResponse = myRequest.EndGetResponse(ar);

    result.Text = new System.IO.StreamReader(myResponse.GetResponseStream()).ReadToEnd();
    myResponse.Close();
  }

</script>
<html>
  <head runat="server">
    <title>
      Page.AddOnPreRenderCompleteAsync Example</title>
  </head>
  <body>
    <form id="form1" runat="server">
      <asp:label id="Label1" runat="server">
        Label 1</asp:label><br />
      <asp:label id="Label2" runat="server">
        Label 2</asp:label><br />
      <asp:label id="Label3" runat="server">
        Label 3</asp:label><br />
      <asp:textbox id="result" runat="server" textMode="multiLine"
 ReadOnly="true" columns="80" rows="25"
 />
    </form>
  </body>
</html>
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「BeginEventHandler デリゲート」の関連用語

BeginEventHandler デリゲートのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



BeginEventHandler デリゲートのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS