Nancy: El mensaje de error confuso cuando Error interno del servidor

Creado en 30 oct. 2016  ·  5Comentarios  ·  Fuente: NancyFx/Nancy

Hola, tengo una solicitud en lugar de un informe de error.
Cuando el código lanzó una excepción, obtuve esta página.

screen shot 2016-10-30 at 13 49 16

Aunque traté de establecer los valores, no pude encontrar las propiedades estáticas denominadas TraceConfiguration.DisplayErrroTraces ni el método denominado environment#Tracing .
Supongo que estas características ya no están disponibles en Nancy 2.0, ¿verdad?

Me di cuenta unos minutos más tarde, que el siguiente código funciona.

    public class Bootstrapper : Nancy.DefaultNancyBootstrapper 
    {
        public override void Configure(INancyEnvironment environment)
        {
            var config = new Nancy.TraceConfiguration(enabled: false, displayErrorTraces: true);
            environment.AddValue(config);
        }
    }

Creo que es mejor mostrar el ejemplo como el de arriba, ¿cómo te parece?

Comentario más útil

Correcto, me faltaba una directiva de uso, clase completa para otras personas en caso de que tengan el mismo problema:

using Nancy;
using Nancy.Bootstrapper;
using Nancy.TinyIoc;
using Nancy.Configuration;

public class CustomBootstrapper : DefaultNancyBootstrapper
{
        public override void Configure(INancyEnvironment environment)
        {
            environment.Tracing(enabled: false, displayErrorTraces: true);
        }
}

¡Gracias!

Todos 5 comentarios

Hola,

Gracias por dejarnos saber. Creo que el mensaje de error es bastante sencillo, especialmente la oración es muy explícita sobre qué hacer.

  1. Anular el método Configure de Boostrapper
  2. llame al entorno. Seguimiento (habilitado: falso, displayErrorTraces: verdadero)

Así que por el momento no haremos ningún cambio.

También encuentro esto confuso, no encontré una manera de habilitarlos en la documentación, y usar la clase de miyatin muestra este error:

error CS0234: el tipo o el nombre del espacio de nombres 'INancyEnvironment' no existe en el espacio de nombres 'Nancy' (¿falta una referencia de ensamblado?)
error CS0115: 'CustomBootstrapper.Configure(INancyEnvironment)': no ​​se encontró ningún método adecuado para anular

Si está utilizando v2, siga las instrucciones en la página de error. En un entorno de configuración y uso de anulación de arranque. Rastreo

Correcto, me faltaba una directiva de uso, clase completa para otras personas en caso de que tengan el mismo problema:

using Nancy;
using Nancy.Bootstrapper;
using Nancy.TinyIoc;
using Nancy.Configuration;

public class CustomBootstrapper : DefaultNancyBootstrapper
{
        public override void Configure(INancyEnvironment environment)
        {
            environment.Tracing(enabled: false, displayErrorTraces: true);
        }
}

¡Gracias!

¿Qué nivel de registro proporciona realmente el cambio de configuración? :)

    public override void Configure(INancyEnvironment environment)
    {
       environment.Tracing(enabled: false, displayErrorTraces: true);
    }

Ayer me encontré con un problema con Nancy Bind<> que se bloqueó conmigo con ModelBinding.ModelBindingException que fue causado por un valor de campo DateTime incorrecto 0002-01-01 00:00:00 +0000; , y esperaba que esta configuración realmente dijera me dijo cuál era el atributo ofensivo por name pero no fue así.

POR CIERTO. Encontré el error, pero tuve que recurrir a escribir varios métodos get/set en mis campos de fecha para encontrar el infractor. :)

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

phillip-haydon picture phillip-haydon  ·  10Comentarios

jgillich picture jgillich  ·  7Comentarios

phillip-haydon picture phillip-haydon  ·  3Comentarios

jchannon picture jchannon  ·  9Comentarios

lgabryel picture lgabryel  ·  7Comentarios