我有一個C#中的多線程應用程序,它試圖寫入由另一個線程創建的Windows.Forms中的TextBox。需要InvokeRequired for Web.UI的幫助
由於線程無法修改它們未創建的內容,因此我使用InvokeRequired(如下面的代碼所示)來解決此問題。
public delegate void MessageDelegate(Communication message);
void agent_MessageReceived(Communication message)
{
if (InvokeRequired)
{
BeginInvoke(new MessageDelegate(agent_MessageReceived), new object[] { message });
}
else
{
TextBox1.Text += message.Body;
}
}
現在我需要在ASP.NET應用程序一個TextBox做同樣的,但顯然沒有InvokeRequired也沒有的BeginInvoke在Web.UI.的文本框存在 我能做什麼?
謝謝,這非常有幫助。我現在知道這種方法需要改變。你有什麼建議嗎? – Ali 2010-04-11 16:46:37
對不起,延遲迴復。我沒有注意到你的評論。如果你有一個長時間運行的操作,一種可能的選擇是在ASP.NET中使用異步頁面處理。 http://msdn.microsoft.com/en-us/magazine/cc163725.aspx,或者你可以使用類似Ajax輪詢機制的東西。 – Josh 2010-04-17 13:25:41