⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 global.asax

📁 This is a book about vb.you could learn this from this book
💻 ASAX
字号:
<%@ Import namespace="System.Threading" %>
<%@ Import namespace="System.Text" %>

<Script runat="server">
  Dim asyncResult As MyAsyncResult

  Public Overrides Sub Init()
    Dim beginEvent As New BeginEventHandler(AddressOf _Begin)
    Dim endEvent As New EndEventHandler(AddressOf _End)

    AddOnBeginRequestAsync(beginEvent, endEvent)
  End Sub

  ' Begin Event Handler
  Public Function _Begin(source As Object, e As EventArgs, callback As AsyncCallBack, extraData As Object) As IAsyncResult
    asyncResult = new MyAsyncResult(Context, callback, extraData)

    Return asyncResult
  End Function

  ' End Event Handler  
  Public Sub _End(ar As IAsyncResult)
  End Sub

  ' Async implementation class
  Private Class MyAsyncResult
    Implements IAsyncResult
   
    Dim _asyncState As Object
    Dim _callback As AsyncCallback
    Dim _thread As Thread
    Dim _context As HttpContext
    Dim _isCompleted As Boolean = false

    Public Sub New(context As HttpContext, callback As AsyncCallback, asyncState As Object)
      _callback = callback
      _asyncState = asyncState
      _context = context

      _thread = New Thread(New ThreadStart(AddressOf CallStockQuoteWebService))
      _thread.Start()
    End Sub

    Public ReadOnly Property AsyncState As Object Implements IAsyncResult.AsyncState
      Get
        Return _asyncState
      End Get
    End Property

    Public ReadOnly Property AsyncWaitHandle As WaitHandle Implements IAsyncResult.AsyncWaitHandle
      Get
        Return Nothing
      End Get
    End Property

    Public ReadOnly Property CompletedSynchronously As Boolean Implements IAsyncResult.CompletedSynchronously
      Get
        Return False
      End Get
    End Property

    Public ReadOnly Property IsCompleted As Boolean Implements IAsyncResult.IsCompleted
      Get
        Return _isCompleted
      End Get
    End Property

    Public Sub CallStockQuoteWebService()
      Dim quote As New QuoteService()

      quote.BeginGetQuotes(New AsyncCallback(AddressOf QuoteCallBack), Nothing)
    End Sub

    Public Sub QuoteCallBack(ar As IAsyncResult)
      Dim quote As New QuoteService()
      Dim d() As QuoteDetails

      d = quote.EndGetQuotes(ar)

      _context.Application("QuoteDetails") = d

      _isCompleted = true
      _callback(Me)
    End Sub
  End Class

</Script>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -