Trying to fix our design time issues with table layout control.
2 using System.Windows.Forms;
3 using System.Collections;
4 using System.ServiceModel;
5 using System.Collections.Generic;
7 using System.Diagnostics;
10 namespace SharpDisplay
13 /// Implement our display services.
14 /// Each client connection has such a session object server side.
17 ConcurrencyMode = ConcurrencyMode.Multiple,
18 InstanceContextMode = InstanceContextMode.PerSession
20 class Session : IService, IDisposable
22 public string SessionId { get; set; }
23 public string Name { get; set; }
27 Trace.TraceInformation("Server session opening.");
28 //First save our session ID. It will be needed in Dispose cause our OperationContxt won't be available then.
29 SessionId = OperationContext.Current.SessionId;
30 ICallback callback = OperationContext.Current.GetCallbackChannel<ICallback>();
32 SharpDisplayManager.Program.iMainForm.AddClientThreadSafe(SessionId,callback);
38 Trace.TraceInformation("Server session closing.");
39 SharpDisplayManager.Program.iMainForm.RemoveClientThreadSafe(SessionId);
42 //From IDisplayService
43 public void SetTexts(System.Collections.Generic.IList<TextField> aTextFields)
45 SharpDisplayManager.Program.iMainForm.SetTextsThreadSafe(SessionId, aTextFields);
49 public void SetText(TextField aTextField)
51 SharpDisplayManager.Program.iMainForm.SetTextThreadSafe(SessionId, aTextField);
55 public void SetName(string aClientName)
58 SharpDisplayManager.Program.iMainForm.SetClientNameThreadSafe(SessionId, Name);
59 //Disconnect(aClientName);
61 //Register our client and its callback interface
62 //IDisplayServiceCallback callback = OperationContext.Current.GetCallbackChannel<IDisplayServiceCallback>();
63 //Program.iMainForm.iClients.Add(aClientName, callback);
64 //Program.iMainForm.treeViewClients.Nodes.Add(aClientName, aClientName);
65 //For some reason MP still hangs on that one
66 //callback.OnConnected();
70 public int ClientCount()
72 return SharpDisplayManager.Program.iMainForm.iClients.Count;