Witam, borykam się z takim problemem, mianowicie piszę aplikacje WPF która jest klientem aplikacji WCF.
Chce żeby cała aplikacja kliencka korzystała tylko z jednej sesji w danym momencie(wszystkie jej okna). Prawie wszystkie metody w clasie interface na serverze opatrzone są clauzulą (IsInitialize = false), wiec one nie mogą tworzyć sesji poza jedną metodą login która jest ustawiona na true, wydaje mi się to logiczne. I w tym momencie pojawia się mój problem tj. każde okno w mojej aplikacji tworzy nową instancję dla danego okna i pewnie tu jest problem, ale nie wiem jak zrobić tak by wszystkie okna korzystały z tej samej instancji :

 var instanceContext = new InstanceContext(this);
            _server = new Service1Client(instanceContext)

dlatego też nowe okno nie może wywołać na serverze żadnej metody opatrzonej clauzulą (IsInitialize = false), wygląda na to że musi zostać uwtorzona nowa sesja. Warto dodać że korzystam z połączenia typu (Duplex), server wywołuje metody na kliencie. Być może tak musi być, dlatego pytam zaawansowanych użytkowników. Może ktoś ma pomysł jak coś takiego zrobić, zamknąć aplikacje i wszystkie jej okna w jednej sesji.

Z góry przepraszam za być może nieprawidłową terminologię, ale myślę ze wiadomo o co chodzi.
Dziękuję i pozdrawiam.