zoukankan      html  css  js  c++  java
  • asp.net异步处理

    程序代码 程序代码
    一.页面异步调用

    前台

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Async="true" Trace="true" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br />
            <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label><br />
            <asp:TextBox ID="TextBox1" runat="server" ReadOnly="true" columns="80" rows="25" TextMode="MultiLine"></asp:TextBox><br />
            <br />
            &nbsp;</div>
        </form>
    </body>
    </html>
    后台:

    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    public partial class _Default : System.Web.UI.Page
    {
        //页面异步处理
        System.Net.WebRequest myRequest = null; //获取网络资源
        protected void Page_Load(object sender, EventArgs e)
        {
            BeginEventHandler bh = new BeginEventHandler(this.BeginGetAsyncData);
            EndEventHandler eh = new EndEventHandler(this.EndGetAsyncData);
            AddOnPreRenderCompleteAsync(bh, eh);
            string address = "http://www.hao123.com";
            myRequest = System.Net.WebRequest.Create(address);
        }

        IAsyncResult BeginGetAsyncData(Object src, EventArgs args, AsyncCallback cb, Object state)
        {
            Trace.Warn("BeginGetAsyncData is Called");
            Label1.Text = "BeginGetAsyncData: thread #" + System.Threading.Thread.CurrentThread.GetHashCode();
            return myRequest.BeginGetResponse(cb, state); //异步请求
        }

        void EndGetAsyncData(IAsyncResult ar)
        {
            Trace.Warn("EndGetAsyncData is Called");
            Label2.Text = "EndGetAsyncData: thread #" + System.Threading.Thread.CurrentThread.GetHashCode();

            System.Net.WebResponse myResponse = myRequest.EndGetResponse(ar);   //获取请求结果
            TextBox1.Text = new System.IO.StreamReader(myResponse.GetResponseStream()).ReadToEnd();
            myResponse.Close();
        }
    }

    程序代码 程序代码
    对比--页面同步调用

    前台

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" Async="true"%>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /><br />
            <br />
            <asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" Height="521px" Width="566px"></asp:TextBox>&nbsp;</div>
        </form>
    </body>
    </html>
    后台

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    public partial class Default2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            System.Net.WebRequest wr = System.Net.WebRequest.Create("http://www.baidu.com");
            System.Net.WebResponse wb2 = wr.GetResponse();
            TextBox1.Text = new System.IO.StreamReader(wb2.GetResponseStream()).ReadToEnd();
          
        }
    }
  • 相关阅读:
    Centos7.2 下搭建LNMP环境(终极版)Yum安装
    ThinkPHP3.2 插入数据库数据,缓存问题
    无限极分类的JS实现
    PHP 商城无限极分类
    高速下载Centos的地址
    高性能的城市定位API接口
    阿帕奇配置本地虚拟站点,XAMPP环境下
    Nginx 下配置Laravel 错误404
    laravel Redis缓存
    pytest.1.快速开始
  • 原文地址:https://www.cnblogs.com/sontin/p/1929809.html
Copyright © 2011-2022 走看看