
本文共 4469 字,大约阅读时间需要 14 分钟。
���������������������������������������������������������������������������������������������IO������������������������������������������A���������IO���������������������������������������������A������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������A���������IO���������������������������������������������������������A���������������������������������������������������������������������������������������������MSDN������������������������
���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
���������WebForm������������������������������������������
���������������Asp.net������������������������������������������(���������������������������������������������)���
���������������������������������������������Async="true" ���������������������������������������������
���������������������������������������������������������AddOnPreRenderCompleteAsync���RegisterAsyncTask
���������������AddOnPreRenderCompleteAsync������������������������
using System; using System.IO; namespace AsyncPagesApp { public partial class _Default : System.Web.UI.Page { FileStream fileStream; //��������� protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; fileStream = new FileStream(@"\\***\20111122_EXO.txt",FileMode.Open); //��������������� AddOnPreRenderCompleteAsync(BeginAsyncOperation,EndAsyncOperation); //������������������ } private IAsyncResult BeginAsyncOperation(object sender, EventArgs e, AsyncCallback cb, object state) //������������ { int bufferSize = 99999999; byte[] buffer = new byte[bufferSize]; return fileStream.BeginRead(buffer,0,bufferSize,cb,state); } private void EndAsyncOperation(IAsyncResult ar) //������������ { int fileReadByte = (int)fileStream.EndRead(ar); //������������������������ fileStream.Flush(); fileStream.Close(); //��������� Label1.Text = fileReadByte.ToString(); } } }
������RegisterAsyncTask������������������������
using System; using System.Web.UI; using System.IO; namespace AsyncPagesApp { public partial class RegisterAsyncTaskPage : System.Web.UI.Page { FileStream fileStream; protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; //��������������������� fileStream = new FileStream(@\\***\20111122_EXO.txt, FileMode.Open); //������������������ PageAsyncTask task = new PageAsyncTask(BeginAsync,EndAsync,TimeoutAsync,true); //������������������ RegisterAsyncTask(task); //������������ ExecuteRegisteredAsyncTasks(); } //������������ protected IAsyncResult BeginAsync(object sender, EventArgs e, AsyncCallback cb, object state) { int bufferSize = 99999999; byte[] buffer = new byte[bufferSize]; return fileStream.BeginRead(buffer, 0, bufferSize, cb, state); } //������������ protected void EndAsync(IAsyncResult ar) { int fileReadByte = (int)fileStream.EndRead(ar); //������������ fileStream.Flush(); fileStream.Close();//������ Label1.Text = fileReadByte.ToString(); } protected void TimeoutAsync(IAsyncResult ar) { Label1.Text = "server Invalid! "; fileStream.Close(); } } }
���������������������������������������������������������������������������������������������������������������������������������������Begin***���End***���������������������������������������������������������������������������������������������������������������������������������������������������������������User.Identity.Name������������������������������������������������������������������������������������������������������������������������������������������������������True���������������������������������������������
发表评论
最新留言
关于作者
