protected void InvokeDuplex(Action <TService> call) { using (var client = Factory.GetDuplexClient <TService>(CallbackInstance)) { try { call(client.Channel); } catch { client.Abort(); throw; } } }