static bool ConsoleEventCallback(int eventType) { if (clientService != null && (eventType == 2 || eventType == 0)) { NetTcpBinding binding = new NetTcpBinding(); binding.Security.Transport.ClientCredentialType = TcpClientCredentialType.Windows; string address = "net.tcp://localhost:10002/RegistrationAuthorityService"; var raProxy = new RAProxy(address, binding); using (new OperationContextScope(raProxy.GetChannel())) { string myAddress = clientService.HostAddress; clientService.RemoveInvalidClient(null); MessageHeader aMessageHeader = MessageHeader.CreateHeader("UserName", "", clientService.ServiceName); OperationContext.Current.OutgoingMessageHeaders.Add(aMessageHeader); //caProxy.RemoveMeFromList(); raProxy.RemoveActiveClient(); } raProxy.Close(); clientService.Dispose(); } return(false); }
public void Dispose() { if (raProxy != null) { raProxy.Close(); } if (vaProxy != null) { vaProxy.Close(); } foreach (KeyValuePair <string, SessionData> connectedClient in clientSessions) { try { (connectedClient.Value.Proxy as ClientProxy).Close(); } catch { } } if (sqliteWrapper != null) { sqliteWrapper.DropDatabase(); sqliteWrapper = null; } }