📄 17.7.txt
字号:
Listing 17.7 Making Asynchronous Web Method Calls
private void btnGo_Click(object sender, System.EventArgs e)
{
localhost.LotteryNumberGenerator gen = new
localhost.LotteryNumberGenerator();
gen.BeginGenerateNumbers( 20000, 0, 100000, true,
new AsyncCallback(GenerateNumbersCallback), gen );
startTime = DateTime.Now;
pbWait.Value = 0;
timer1.Enabled = true;
}
public void GenerateNumbersCallback(IAsyncResult ar)
{
DateTime endTime = DateTime.Now;
// get result
localhost.LotteryNumberGenerator gen =
(localhost.LotteryNumberGenerator) ar.AsyncState;
string result = gen.EndGenerateNumbers( ar );
// stop timer and computer total time
timer1.Enabled = false;
TimeSpan span = new TimeSpan( endTime.Ticks - startTime.Ticks );
MessageBox.Show( “Call time = “+span.ToString()+”\nResult: “+result );
}
private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
pbWait.PerformStep();
if( pbWait.Value >= pbWait.Maximum )
pbWait.Value = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -