Подход RAPI: 1 статический экземпляр для всего приложения winforms против создания, подключения, удаления - PullRequest
1 голос
/ 16 апреля 2010

Во многих местах нашего приложения у нас есть такой код:

using(RAPI rapi = new RAPI())
{
  bool connected = TryToConnectWithTimeout(rapi);
  if(connected)
    DoSomethingWithRapi(rapi);
}

Пока это хорошо работает. У нас никогда не бывает более 1 экземпляра рапи за раз. До сих пор:

Но теперь мы хотим прослушать событие connect на рапи. Мы делаем это так:

* +1007 *

«StartMonitoringRapiConnection» работает довольно хорошо, пока я не начинаю обновляться и не подключаю другие объекты RAPI. Но как только я начинаю обновлять другие объекты RAPI, события подключения / отключения, похоже, возникают не по порядку.

Будет ли лучше иметь всего 1 статический экземпляр RAPI для всего приложения? Есть ли у вас другие советы? Спасибо.

1 Ответ

1 голос
/ 16 апреля 2010

Логически, RAPI - это одно соединение между ПК и устройством. Для вашего приложения не имеет смысла даже поддерживать несколько соединений. Я бы сделал Singleton класс , который оборачивает вызовы RAPI и выполняет все ваши звонки за вас, чтобы каждый, кому нужно поговорить с устройством, прошел через этот один класс.

...