public DeviceDriverProxy(string uri, string username, SecureString password) { Uri localUri = new Uri(uri); EndpointAddress ep = new EndpointAddress(localUri); Binding binding; if (localUri.Scheme == Uri.UriSchemeHttps) { binding = new BasicHttpsBinding { MaxReceivedMessageSize = MaxMessageSize }; } else { binding = new BasicHttpBinding { MaxReceivedMessageSize = MaxMessageSize }; } Client = new DemoDriverDevice.DeviceServiceClient(binding, ep); Client.Open(); long tickStop = DateTime.Now.Ticks + TickStopDelay; while (DateTime.Now.Ticks < tickStop && Client.State == CommunicationState.Opening) { System.Threading.Thread.Sleep(5); } if (Client.State == CommunicationState.Opening) { System.Diagnostics.Trace.WriteLine("CommunicationClient", "Did not reach OPEN state with 5 seconds"); } }
public void Close() { if (Client != null) { try { Client.Close(); Client = null; } catch { } } }