2011-08-05 8 views
1

私はこのディレクティブでのaspxを持って知っています、私は任意のメソッドにブレークポイントを置く場合にはどうすれば正しく

..... 

private readonly Action<string> zipArquivoAction; 

public Logs_Logs() 
{ 
    zipArquivoAction = ZipArquivo; 
} 

protected void LkbGZip_Click(object sender, EventArgs e) 
{ 
    LinkButton lkbGZip = (LinkButton) sender; 
    AddOnPreRenderCompleteAsync(BeginAsyncOperation, EndAsyncOperation, lkbGZip.CommandArgument); 
} 

IAsyncResult BeginAsyncOperation(object sender, EventArgs e, AsyncCallback cb, object state) 
{ 
    return zipArquivoAction.BeginInvoke((string)state, cb, state); 
} 

void EndAsyncOperation(IAsyncResult ar) 
{ 
    zipArquivoAction.EndInvoke(ar); 
} 

private void ZipArquivo(string arquivoCaminho) 
{ 
    System.Threading.Thread.Sleep(10000); 
} 

System.Threading.Thread.CurrentThreadを呼び出すと、常に同じスレッドが返されます。これは、IOスレッドを使用していないことを意味します。

答えて

1

トレースをオンにして、Begin AsyncOperationとEnd AsyncOperationの呼び出しを探します。これらはEnd PreRenderの後に表示されます。

Async page trace screenshot

より参照してください:

Asynchronous Pages in ASP.NET 2.0

+0

私のトレースは、私が間違っているのは何=/ 任意のBeginAsyncOperationを示していけませんか? –

+1

私は彼が手動でTraceにそれを怒らせたと思います。カテゴリが空です –

+0

Fujiyさんのコメントに加えて、Trace.Write( "BeginAsyncOperation")を呼び出すことができます。およびTrace.Write( "EndAsyncOperation");それぞれBeginAsyncOperation()とEndAsyncOperation()にあり、上記のスクリーンショットに示すように、トレースビューのエントリが表示されます。 –

関連する問題