Client/Server duplex is still a mess in C#.
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[] { "Top", "Bottom" });
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;
47 public void CloseConnection()
51 //iClient.Disconnect();
59 private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
61 if (IsClientReady()) //Could catch exception instead
69 public bool IsClientReady()
71 return (iClient != null && iClient.State == CommunicationState.Opened);