Лучший способ взаимодействия с веб-службой в многоформной среде

#c# #winforms #wcf #wif

#c# #winforms #wcf #с помощью

Вопрос:

Сценарий заключается в том, что у нас есть приложение winforms, которое имеет в основной форме ссылки на некоторые веб-сервисы, защищенные через WCF и STS / WIF.

Управление учетными данными обрабатывается в этой основной форме, но у нас есть много вспомогательных форм, пользовательских элементов управления и т. Д., Которым Необходим доступ к этим веб-сервисам.

На данный момент веб-сервисы создаются, а затем вызываются в случае необходимости, но теперь они защищены с помощью WCF, на самом деле нам нужны только ссылки на них в основной форме, иначе нам нужно будет передавать учетные данные между формами для повторного создания безопасности, что уводит от точки обработкибезопасность один раз.

Какой, по вашему мнению, наилучший способ передать ссылку на службы в родительской (основной) форме этим другим формам и элементам управления?

Заранее спасибо.

Ответ №1:

  • Передайте объект веб-службы в конструкторе других форм следующим образом

    var дочерняя форма = новая дочерняя форма (theServiceObject);

  • Поместите его в какую-нибудь статическую единую тонну, и каждая форма может получить ее оттуда следующим образом

    var theServiceObject = ServiceInstance.Get();

  • Используйте контейнер IOC и попросите другие формы получить сервис через свойство, метод или внедрение конструктора после того, как основная форма выполнила проверку учетных данных