Описание тега apartment-state

1 ответ

STAThread требование для оконных форм

AFAIK, все приложения Windows Forms должны установить [STAThread] директива над их Main() метод. Однако есть исключение. Мы пишем приложения для устройств Windows Mobile, используя Compact Framework. Компактная структура даже не поддерживает [STAThr…
05 янв '17 в 14:20
3 ответа

C# завершение работы потока, который использует Application.Run()

Я пытаюсь использовать C# DLL, к которой у меня есть доступ к коду, но на самом деле я не могу изменить код и создать собственную версию. Вызывающий код - это проект C# WinForms, а C# DLL также использует WinForms для обработки системных событий Win…
25 апр '13 в 17:01
2 ответа

Как проверить состояние квартиры текущего потока?

У меня есть функция, которую необходимо запустить в состоянии квартиры STA. Я не хочу проверять, запущен ли он как STA, а если нет, то создать новый поток, который работает в STA. Как я могу проверить, в каком состоянии квартиры находится текущий по…
04 мар '10 в 10:16
2 ответа

NUnit GUI Runner и квартира State

Как вы устанавливаете состояние квартиры в NUnit GUI Runner? Я пытаюсь запустить один тест NUnit с WatiN, и я получаю сообщение: MyNamespace.LoginTests.CanLogin: System.Threading.ThreadStateException: для CurrentThread необходимо установить для Apar…
17 мар '10 в 15:17
3 ответа

Вызывающий поток должен быть STA, потому что многие компоненты пользовательского интерфейса требуют этот WPF

Я использую MessageBox, предоставленный WPF Toolkit. И я получаю ошибку Вызывающий поток должен быть STA, потому что многие компоненты пользовательского интерфейса требуют этого new Thread(new ThreadStart(delegate { MessageBox.Show("Opeartion could …
24 май '12 в 07:27
4 ответа

Сколько потоков 'STA' может сосуществовать внутри процесса?

Мне нужно несколько STA потоки внутри моего приложения ASP.NET, чтобы использовать некоторые COM компоненты. Я читаю где-то внутри каждого процесса, только один STA нить может существовать. Я кодировал пример проекта, сделал много потоков и установи…
24 дек '10 в 18:22
1 ответ

SpecFlow NUnit Требуется атрибут STA

Мне нужно, чтобы SpecFlow генерировал NUnit тесты с атрибутом RequSTSTA. Как я могу это сделать?
05 окт '12 в 09:27
1 ответ

Winforms: один COM-объект нуждается в STAThread, другой требует MTAThread. Как я могу их использовать?

Я пытаюсь создать приложение Winforms с двумя компонентами COM. Тем не менее, один из компонентов работает только при использовании [MTAThread] а другой работает только с [STAThread], Каким будет рекомендуемое решение?
05 окт '09 в 19:06
1 ответ

Как я могу установить пространство выполнения кода PowerShell, который я запускаю из C#?

У меня есть приложение, которое запускает несколько скриптов Powershell. (Это в основном приложение-оболочка, которое извлекает некоторые сценарии PS, хранящиеся в базе данных SQL, а затем запускает их.) Один из сценариев Powershell, который я добав…
23 мар '17 в 12:55
1 ответ

Параллельный Foreach вызывает исключение ApartmentState

У меня есть следующий код для создания вкладок в предварительно определенный список: private void CreateControls() { Parallel.ForEach(_websites, w => { var tabPage = new TabPage(w.Name); var webBrowser = new WebBrowser(); webBrowser.Navigate(w.Ur…
1 ответ

Элемент управления ActiveX не может быть создан, потому что поток находится в однопоточной квартире. Бывает после пробуждения ПК от сна

Я работаю над клиентом VOIP (форма окна), который открывает окно браузера (ExtendedWebBrowser) при совершении или получении вызова. Обычно это работает нормально, но если компьютер переводится в спящий режим, а затем просыпается, программа вылетает …
1 ответ

Я могу изменить характер потока, который будет инициировать мой делегат?

Я реализую интерфейс, который имеет BeginSomething() а также EndSomething() пара, и моя реализация находится в методе Execute() Поэтому я создаю Action action = Execute и позвоните action.BeginInvoke в BeginSomething, и action.EndInvoke в EndSomethi…
1 ответ

При создании Thread для класса, вызываемого из экземпляра STAThread, каким будет состояние квартиры?

У меня есть проект A и проект B. В проекте B есть поток, который выполняет некоторую работу с Microsoft Outlook Interop. Проект A представляет собой графический интерфейс пользователя и помечен как STAThread на главной точке входа. Если я вызову про…
01 мар '18 в 08:49
0 ответов

Невозможно установить текущую квартиру потока в STA в основной программе приложения C# Windows

Я создал небольшой проект Windows-приложения в Visual Studio 2010, и я не могу установить для свойства квартиры основного потока значение STA, по умолчанию для него установлено MTA, даже если свойство [STAThread] или же [STAThreadAttribute] по моему…
1 ответ

Применение LoaderOptimization к внутрипроцессным COM-серверам

Мне нужно создать несколько доменов приложений на моем внутрипроцессном COM-сервере.NET (это расширение пространства имен Windows Explorer). В моем тестовом консольном приложении я могу создать 10 доменов + окна WPF за 40 секунд, что недопустимо. До…
14 май '12 в 12:40
1 ответ

ASP.Net WebApi STA Mode

Этот пост не дает WebApi возможности работать в режиме STA. Но этому посту тоже 2 года. Я копался в более новом WebApi2, но не могу найти способ сделать MessageHandlers работать в режиме STA. Так кто-нибудь нашел способ запустить WebApi или WebApi2 …
2 ответа

TeamCity SpecFlow NUnit Watin и ApartmentState STA

Я пытаюсь заставить наши тесты specflow watin работать на нашем новом сервере teamcity. Проблема в том, что я не могу заставить встроенный nunit runner запускать тесты в appartmentstate STA. Мы использовали эту конфигурацию ранее, которая работает с…
05 окт '12 в 09:24
1 ответ

ArgumentOutOfRangeException в SetApartmentState

У меня есть такой кусок кода: var t = new Thread(ShowStatus); t.SetApartmentState(ApartmentState.STA); И как только я получил исключение ArgumentOutOfRangeException на второй линии. Как это возможно? И что я могу сделать, чтобы это не повторилось по…
1 ответ

Как запросить состояние квартиры COM для текущей темы

Класс.NET Thread имеет удобную функцию GetApartmentState(), которая возвращает квартиру контекста потока. Существует ли аналогичная функция Co<что-то> для нативного кода (C++, C)? Я чувствую, что должен знать, так как я программирую COM почти 10 лет…
12 апр '13 в 21:35
1 ответ

Как сделать основной поток консольного приложения MTA?

С помощью Delphi, как я могу создать консольное приложение (Windows) с основным потоком, который инициализируется как COINIT_MULTITHREADED? Если я позвоню CoInitializeEx(nil, COINIT_MULTITHREADED) в самом первом операторе я получаю HRESULT 0x8001010…
02 авг '19 в 14:03