2011-11-11 17 views
0

我們都知道,每當我們請求一個網頁或點擊一個按鈕(在網頁上),然後在服務器上創建一個新的線程,以給我們所需的結果。如何獲取在asp.net web應用程序中爲請求提供服務的線程?

現在,我需要的是提供此請求的線程。我需要將此服務線程的Apartment狀態設置爲STA,以便使用Watin API。

我在做的是我在服務器上打開一個新的IE瀏覽器窗口,這是我在按鈕單擊事件中寫入的代碼。現在Watin要求公寓的狀態是STa。

謝謝。

+0

您能否提供更多信息? 「現在,我需要的是提供此請求的線程」,您需要從哪裏獲取此線程? 「我需要將此服務線程的Apartment狀態設置爲STA」,打算設置ApartmentState的實體是什麼以及它與提到的線程的關係是什麼? –

回答

1

其實,是不是創造了一個新的線程來處理每一個Web請求。該請求在從可用線程的共享池獲取的線程上處理。從頭開始創建一個新線程非常昂貴,有時花費的時間比您想要在線程上執行的任務要長。

您可以使用System.Threading.Thread.CurrentThread獲取當前正在執行的線程。

由於您的請求在由IIS服務器管理的共享線程上執行,因此更改線程的公寓模型可能不是一個好主意。

相關問題