Still trying to setup WCF for us to work nicely.
Now using multi threading and reliable session.
Implementing thread safe functions where needed.
Enforcing session mode.
Fixing bug in marquee label as we forgot to reset current position when text is changed.
2 using System.Collections.Generic;
3 using System.ComponentModel;
8 using System.Threading.Tasks;
9 using System.Windows.Forms;
10 using System.ServiceModel;
11 using System.ServiceModel.Channels;
14 namespace SharpDisplayClient
16 public partial class MainForm : Form
23 InitializeComponent();
26 private void buttonSetText_Click(object sender, EventArgs e)
28 //iClient.SetText(0,"Top");
29 //iClient.SetText(1, "Bottom");
30 iClient.SetTexts(new string[] { iClient.Name, iClient.SessionId });
33 private void MainForm_Load(object sender, EventArgs e)
35 iCallback = new Callback();
36 //Instance context is then managed by our client class
37 InstanceContext instanceContext = new InstanceContext(iCallback);
38 iClient = new Client(instanceContext);
40 //Connect using unique name
41 string name = DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.fff tt");
42 iClient.Connect(name);
43 //Text = Text + ": " + name;
44 Text = Text + ": " + iClient.SessionId;
48 public void CloseConnection()
52 //iClient.Disconnect();
60 private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
62 if (IsClientReady()) //Could catch exception instead
70 public bool IsClientReady()
72 return (iClient != null && iClient.State == CommunicationState.Opened);