AddOnPreRenderCompleteAsync(new BeginEventHandler(MyBeginMethod),new EndEventHandler(myEndMethod)); |
<%@ Page Async="true" Language="C#" %> <asp:Content ID="Content" ContentPlaceHolderID="Main" Runat="server"> <asp:Label ID="Output" Runat="server"></asp:Label> </asp:Content> public partial class AsyncPage : System.Web.UI.Page { private WebRequest m_Request; void Page_Load (object sender, EventArgs e) { AddOnPreRenderCompleteAsync ( new BeginEventHandler(BeginAsyncOperation), new EndEventHandler (EndAsyncOperation) ); } IAsyncResult BeginAsyncOperation (object sender, EventArgs e, AsyncCallback cb, object state) { m_Request = WebRequest.Create("http://www.dofor.cn"); return m_Request.BeginGetResponse (cb, state); } void EndAsyncOperation (IAsyncResult ar) { string text; using (WebResponse response = m_Request.EndGetResponse(ar)) { using (StreamReader reader = new StreamReader(response.GetResponseStream())) { text = reader.ReadToEnd(); } } Regex regex = new Regex ("href\\s*=\\s*\"([^\"]*)\"", RegexOptions.IgnoreCase); MatchCollection matches = regex.Matches(text); StringBuilder builder = new StringBuilder(1024); foreach (Match match in matches) { builder.Append (match.Groups); builder.Append("<br/>"); } Output.Text = builder.ToString (); } } |