В типичном клиент-сервисном приложении, где сервисом является WCF, как использовать ссылку на сервис?
Например, вы создаете экземпляр сервиса для каждого вызова отдельно или открываете его и сохраняете его на протяжении всего жизненного цикла клиентского приложения? (когда я обращаюсь к 'установке службы', я имею в виду создание экземпляра объекта службы, созданного svcutil)
На данный момент мы использовали один экземпляр службы на клиенте, потому что это казалось быстрее, чем всегда, создавая, открывая и закрывая службу для каждого вызова, но теперь я хочу узнать, все ли в порядке? Основная проблема, с которой мы сталкиваемся при таком подходе, состоит в том, что происходят тайм-ауты (или мы должны иметь сеансы, открытые в течение 10 часов), разрывы соединения и т. Д., И мы всегда должны делать IsAlive через канал, чтобы убедиться, что все в порядке ... 1005 *
Если это имеет какое-либо значение, приложение является однопоточным, и аутентификация выполняется специально (путем вставки токенов авторизации в заголовок). Привязка - basicHttp (или ws, для этого случая не имеет значения).