У меня есть следующий код для создания tabpages по заранее составленному списку:Parallel Foreach сгенерирует исключение ApartmentState
private void CreateControls()
{
Parallel.ForEach(_websites,
w =>
{
var tabPage = new TabPage(w.Name);
var webBrowser = new WebBrowser();
webBrowser.Navigate(w.Url);
tabPage.Controls.Add(webBrowser);
WebPagesTabControl.TabPages.Add(tabPage);
});
}
Я получаю следующее исключение:
не может быть реализован, так как текущий поток не в однокомнатной квартире .
Каков правильный способ установки состояния квартиры в STA?
Очень понятный и удобный – ehh
Как вы сказали, здесь это не полезно, но вы можете запускать 'Parallel.ForEach' на потоках STA. Вы делаете это, используя пользовательский 'TaskScheduler', поддерживаемый потоками STA, а затем указывая его в' ParallelOptions'. – svick