diff -r 5a24e79384be -r ac698f4e1b36 Server/Session.cs --- a/Server/Session.cs Mon Sep 22 13:21:00 2014 +0200 +++ b/Server/Session.cs Mon Sep 22 16:04:26 2014 +0200 @@ -13,9 +13,9 @@ /// Implement our display services. /// Each client connection has such a session object server side. /// - [ServiceBehavior( + [ServiceBehavior( ConcurrencyMode = ConcurrencyMode.Multiple, - InstanceContextMode = InstanceContextMode.PerSession + InstanceContextMode = InstanceContextMode.PerSession )] class Session : IService, IDisposable { @@ -38,18 +38,6 @@ Trace.TraceInformation("Server session closing."); SharpDisplayManager.Program.iMainForm.RemoveClientThreadSafe(SessionId); } - - //From IDisplayService - public void SetTexts(System.Collections.Generic.IList aTextFields) - { - SharpDisplayManager.Program.iMainForm.SetTextsThreadSafe(SessionId, aTextFields); - } - - // - public void SetText(TextField aTextField) - { - SharpDisplayManager.Program.iMainForm.SetTextThreadSafe(SessionId, aTextField); - } // public void SetName(string aClientName) @@ -66,13 +54,31 @@ //callback.OnConnected(); } + public void SetLayout(TableLayout aLayout) + { + SharpDisplayManager.Program.iMainForm.SetClientLayoutThreadSafe(SessionId, aLayout); + } + + //From IDisplayService + public void SetTexts(System.Collections.Generic.IList aTextFields) + { + SharpDisplayManager.Program.iMainForm.SetTextsThreadSafe(SessionId, aTextFields); + } + + // + public void SetText(TextField aTextField) + { + SharpDisplayManager.Program.iMainForm.SetTextThreadSafe(SessionId, aTextField); + } + + /// public int ClientCount() { return SharpDisplayManager.Program.iMainForm.iClients.Count; } - + }