|
Что такое single-threaded apartment простыми словами?
|
|||
---|---|---|---|
#18+
и зачем оно здесь? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 16:50 |
|
Что такое single-threaded apartment простыми словами?
|
|||
---|---|---|---|
#18+
Для COM-interop. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 16:53 |
|
Что такое single-threaded apartment простыми словами?
|
|||
---|---|---|---|
#18+
Если не используешь в приложении COM-объекты, то можешь удалить и не париться. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 16:54 |
|
Что такое single-threaded apartment простыми словами?
|
|||
---|---|---|---|
#18+
fkthatЕсли не используешь в приложении COM-объекты, то можешь удалить и не париться. можете привести пример COM объекта стандартные контроллы в тулбоксе не они? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 17:11 |
|
Что такое single-threaded apartment простыми словами?
|
|||
---|---|---|---|
#18+
listtoview, Не. COM-объект это давно лигаси. Если ты специально их к проекту не цеплял (Add Reference -> COM), то их там и не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 17:13 |
|
Что такое single-threaded apartment простыми словами?
|
|||
---|---|---|---|
#18+
fkthatlisttoview, Не. COM-объект это давно лигаси. Если ты специально их к проекту не цеплял (Add Reference -> COM), то их там и не будет. ок, пасиб ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 17:26 |
|
Что такое single-threaded apartment простыми словами?
|
|||
---|---|---|---|
#18+
fkthatЕсли не используешь в приложении COM-объекты, то можешь удалить и не париться. Эти COM-объекты могут быть под капотом классов фреймворка. Например, COM используют формсовые Clipboard и наследники FileDialog. WPF, кстати, тоже при компиляции генерит entry point с STA-атрибутом - видимо, там тоже где-то есть COM. Так что я бы не стал грохать этот атрибут - сильно он не мешается, а последствия его отсутствия могут быть непредсказуемыми. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 18:12 |
|
Что такое single-threaded apartment простыми словами?
|
|||
---|---|---|---|
#18+
Присоединюсь к вопросу - что конкретно этот STA? Что основной поток всегда будет жить в изначальном потоке? А он в MTA разве прыгает по пулу? Тоже непонятно это, поясните плиз. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 22:31 |
|
Что такое single-threaded apartment простыми словами?
|
|||
---|---|---|---|
#18+
iskatelsqlПрисоединюсь к вопросу - что конкретно этот STA? Что основной поток всегда будет жить в изначальном потоке? А он в MTA разве прыгает по пулу? Тоже непонятно это, поясните плиз. Каждый COM объект живет в некоторой логической хрени называемой "апартментом". Любой апартмент содержит или один поток (STA) - либо много потоков (MTA), причем каждый поток принадлеит тольько одному апртаменту и менять его не может. В приложении может быть несколько STA и максимум один MTA. И вот, теперь самое главное. Поток из одного апартамента может напрямую вызывать только COM-объект "живущий" в том же апартаменте, что и этот поток. В любом другом случае компонент может быть вызван только через COM-маршаллинг. И вот, еще, если у нас объект живет в каком-нибудь STA и мы хотим вызвать его из другого апартамента, то поток первого STA (где живет объект) должен быть виндовым UI-потоком (потому что маршаллинг такого вызова происходит через отправку сообщения в виндовую очередь сообщений). В общем, это тема довольно сложная и в двух словах не объяснить, но, надеюсь общую суть я передал. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 22:51 |
|
Что такое single-threaded apartment простыми словами?
|
|||
---|---|---|---|
#18+
т.е. Это исключительно для COM и больше ни для чего? Из первого ответа не очень понятно. COM я пользуюсь периодически, но слабо представляю что это такое, для меня это что-то вроде клиент-сервер с передачей в чем-то нейтральном типа JSON. Я знаю что я не прав, но насколько? Если просто например эксель из своей программы юзать что-то надо подучить? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 23:06 |
|
Что такое single-threaded apartment простыми словами?
|
|||
---|---|---|---|
#18+
iskatelsqlт.е. Это исключительно для COM и больше ни для чего? Да, это исключительно для COM. iskatelsqlCOM я пользуюсь периодически, но слабо представляю что это такое, для меня это что-то вроде клиент-сервер с передачей в чем-то нейтральном типа JSON. Я знаю что я не прав, но насколько? Если просто например эксель из своей программы юзать что-то надо подучить? COM это очень большая отдельная тема - её изучать, это, считай, как изучать еще один .NET. С учетом того, что это уже очень легаси, изучать специально его смысла вообще нет. Делать просто все как в МСДН написано в разделе ".NET COM interop", а если уж какие-то проблемы, то обращатся к кому-нибудь, кто с этим лет 20 назад надрочился. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2019, 23:16 |
|
Что такое single-threaded apartment простыми словами?
|
|||
---|---|---|---|
#18+
fkthatiskatelsqlПрисоединюсь к вопросу - что конкретно этот STA? Что основной поток всегда будет жить в изначальном потоке? А он в MTA разве прыгает по пулу? Тоже непонятно это, поясните плиз. Каждый COM объект живет в некоторой логической хрени называемой "апартментом". Любой апартмент содержит или один поток (STA) - либо много потоков (MTA), причем каждый поток принадлеит тольько одному апртаменту и менять его не может. В приложении может быть несколько STA и максимум один MTA. И вот, теперь самое главное. Поток из одного апартамента может напрямую вызывать только COM-объект "живущий" в том же апартаменте, что и этот поток. В любом другом случае компонент может быть вызван только через COM-маршаллинг. И вот, еще, если у нас объект живет в каком-нибудь STA и мы хотим вызвать его из другого апартамента, то поток первого STA (где живет объект) должен быть виндовым UI-потоком (потому что маршаллинг такого вызова происходит через отправку сообщения в виндовую очередь сообщений). В общем, это тема довольно сложная и в двух словах не объяснить, но, надеюсь общую суть я передал. спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2019, 09:50 |
|
|
start [/forum/topic.php?fid=20&fpage=15&tid=1398752]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 230ms |
total: | 378ms |
0 / 0 |