Наш поставщик билетной системы предоставляет библиотеку .NET API, и я пытался использовать ее в многопоточном приложении. Я сталкиваюсь со всевозможными проблемами соединения/состояния, и я считаю, что это, возможно, потому, что это не "потокобезопасно" (я все еще новичок в C # и многопоточных приложениях, поэтому на данный момент это только мое предположение, поскольку некоторые из симптомы совпадают).
У API нет класса, экземпляр которого создается, вы просто вызываете статические методы TrebuchetApi.Api.Connect() и TrebuchetApi.Api.Login() из его пространства имен (на самом деле все методы кажутся статическими).
Так что, возможно, у меня есть один поток, выполняющий одно действие, а другой делает что-то еще, и базовый API запутывается (статические переменные, которые должны быть установлены, имеют значение null и тому подобное).
Есть ли какой-нибудь способ сделать каждый из моих потоки используют совершенно новый «экземпляр» API, или это просто неизбежно?
Обновление:
Для ясности: после предложений по использованию AppDomains я нашел эту статью, в которой представлена именно та структура, которая мне нужна:
http://www.superstarcoders.com/blogs/po ... ting-code- в-отдельном-домене-приложения-с-sharp.aspx
Подробнее здесь: https://stackoverflow.com/questions/185 ... hread-safe
Работаете с внешней .NET-библиотекой, которая не является потокобезопасной? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Определить, работаете ли вы от имени администратора с повышенными привилегиями или без них?
Anonymous » » в форуме C# - 0 Ответы
- 27 Просмотры
-
Последнее сообщение Anonymous
-