Пример #1
0
        public void ObtenerResultadoLogin_SesionYaIniciada()
        {
            string nickname   = "elrevo";
            string contraseña = "elrevo";

            try
            {
                Uri baseAddress = new Uri("net.tcp://localhost:8090/UNO.Contratos");
                serviceHost = new ServiceHost(typeof(UNO.Contratos.JuegoUNOServicio), baseAddress);
                Binding                 binding         = new NetTcpBinding();
                EndpointAddress         endpointAddress = new EndpointAddress("net.tcp://localhost:8090/UNOServerTest");
                var                     endpoint        = serviceHost.AddServiceEndpoint(typeof(UNO.Contratos.Login.ILogin), binding, endpointAddress.Uri);
                ServiceMetadataBehavior smb             = new ServiceMetadataBehavior
                {
                    HttpGetEnabled = false
                };
                serviceHost.Description.Behaviors.Add(smb);

                loginAdmin      = new LoginCallbackAdmin();
                instanceContext = new InstanceContext(loginAdmin);
                loginCliente    = new LoginClient(instanceContext);
                endpoint.Name   = loginCliente.Endpoint.Name;

                serviceHost.Open();


                loginCliente.IniciarSesion(nickname, contraseña);
                loginCliente.IniciarSesion(nickname, contraseña);

                ResultadoLogin resultadoObtenido = loginAdmin.Resultado;
                ResultadoLogin resultadoEsperado = ResultadoLogin.SesionIniciada;

                Assert.AreEqual(resultadoEsperado, resultadoObtenido);
            }
            catch (EndpointNotFoundException)
            {
            }
        }
Пример #2
0
 /// <summary>
 /// Método estático encargado de comunicarse con el método de iniciar sesión del servidor.
 /// </summary>
 /// <param name="nickname">Nickname del Jugador.</param>
 /// <param name="contraseña">Contraseña del Jugador.</param>
 /// <exception cref="EndpointNotFoundException"></exception>
 /// <exception cref="CommunicationObjectFaultedException"></exception>
 public static void IniciarSesion(string nickname, string contraseña)
 {
     try
     {
         servidor.IniciarSesion(nickname, contraseña);
     }
     catch (EndpointNotFoundException ex)
     {
         LoggerAdmin.EscribirLog("Error", ex);
         throw;
     }
     catch (CommunicationObjectFaultedException ex)
     {
         LoggerAdmin.EscribirLog("Error", ex);
         throw;
     }
 }
        private void IniciarSesion()
        {
            DeshabilitarCamposYBotonones();
            string Mensaje;
            string nombreUsuario = textBoxNombreUsuario.Text.Trim();
            string contraseña    = passwordBoxContraseña.Password.Trim();

            try
            {
                InstanceContext instanceContext = new InstanceContext(this);
                LoginClient     cliente         = new LoginClient(instanceContext);

                if (DatosCompletos(nombreUsuario, contraseña))
                {
                    cliente.IniciarSesion(nombreUsuario, contraseña);
                }
                else
                {
                    Mensaje = "Se requiere usuario y contraseña";
                    FuncionesComunes.MostrarMensajeDeError(Mensaje);
                    HabilitarCamposYBotonones();
                }
            }
            catch (EndpointNotFoundException)
            {
                Mensaje = "Falló la conexión con el servidor";
                FuncionesComunes.MostrarMensajeDeError(Mensaje);
                HabilitarCamposYBotonones();
            }
            catch (InvalidOperationException error)
            {
                Mensaje = error.Message;
                FuncionesComunes.MostrarMensajeDeError(Mensaje);
                HabilitarCamposYBotonones();
            }
            catch (TimeoutException)
            {
                Mensaje = "Se excedió el tiempo de espera y no hubo respuesta del servidor.";
                FuncionesComunes.MostrarMensajeDeError(Mensaje);
                HabilitarCamposYBotonones();
            }
        }