<p>Comentarios de Nancy 2.0.0-clinteastwood</p>

Creado en 22 dic. 2016  ·  8Comentarios  ·  Fuente: NancyFx/Nancy

Si encuentra algún problema, abra un problema y proporcione la mayor cantidad de información posible para ayudarnos a identificar su problema. Alternativamente, no dude en enviar una solicitud de extracción si cree que puede ayudar a resolver el problema. Si necesita una mano que lo guíe, sobre cómo comenzar con las solicitudes de extracción, eche un vistazo a nuestras pautas de contribución . Asegúrate de no perderte las pautas de estilo , yo no lo haré :D

NOTA: Debido a que Nancy 2.0-clinteastwood es una versión preliminar, tendrá que instalar los paquetes usando el conmutador -pre , es decir, install-package Nancy -pre

Utilice este problema para publicar comentarios que no estén directamente relacionados con ningún error específico informado o solicitud de extracción.

HACER

La siguiente es una lista de tareas identificadas que deben realizarse a raíz del lanzamiento de 2.0.0-clinteastwood y deben completarse antes de que se publique 2.0.0-dangermouse . Edite la lista TODO y agregue elementos a medida que se encuentran, agregue enlaces a solicitudes de extracción que se envían para cerrarlos

  • [x] Asegúrese de que AsyncUsageAnalyzers se establezca en una dependencia de compilación en todos los project.json y packages.config Ejemplo correcto para reflejar aquí - (solicitud de extracción #2700 @jchannon
  • [x] Eliminar todos los archivos *.nuspec antiguos en todos los proyectos (incluida Nancy) (solicitud de extracción n.º 2658 @jchannon)
  • [x] Actualice Nancy.Hosting.Aspnet\project.json para incluir web.config.transform en el paquete (solicitud de extracción n.° 2661 @thecodejunkie)
  • [x] Actualice Nancy.ViewEngines.Razor\project.json para incluir app/web.config.transform en el paquete (solicitud de extracción n.° 2661 @thecodejunkie)
  • [ ] Actualice Nancy.ViewEngines.Razor\project.json para incluir Nancy.ViewEngines.Razor.BuildProvider (incluidos los objetivos de compilación) en el paquete

Cambios planificados

  • [ ] Eliminar uno de Request.Cookies y Request.Headers.Cookie ver #2628 para discusiones
  • [ ] Mejorar la sintaxis y las capacidades del gancho Antes y Después #2665
  • [ ] Consulte el "Problema de rendimiento potencial con Nancy.Routing.Route.Invoke #2623"
  • [ ] Agregar soporte de configuración para la negociación de contenido. Ver #2671 para la discusión sobre la resolución de extensión automática
  • [ ] Actualice la infraestructura de prueba para admitir netstandard, consulte el problema n.º 2612 y la solicitud de extracción n.º 2628
  • [ ] Convierta los subsistemas restantes en asincrónicos, consulte la solicitud de extracción n.º 2577
  • [ ] Eliminar las últimas partes restantes de StaticConfiguration

Limitaciones conocidas

  • Algunos paquetes pueden instalar AsyncUsageAnalyzers como dependencia. Debería ser seguro eliminarlo y no se incluirá en 2.0.0-dangermouse , ya que se marcará como una dependencia de compilación en todos los proyectos.
  • El paquete Nancy.Hosting.Aspnet no aplicará las transformaciones *.config `, para conectar el hosting, tendrás que aplicarlo tú mismo
  • El paquete Nancy.ViewEngines.Razor no aplicará las transformaciones de *.config ` para conectar las opciones de configuración de los motores de vista, tendrá que aplicarlo usted mismo
  • Faltan los proveedores de compilación para Nancy.ViewEngines.Razor en el paquete NuGet, lo que provoca problemas con el resaltado de sintaxis en las vistas de Nancy Razor
Improvement Epic

Comentario más útil

Es porque el módulo base no tiene un constructor que el contenedor IoC pueda satisfacer. No sabe cómo manejar string . Si no se supone que BaseModule se llame solo, le sugiero que lo haga abstract ...

Todos 8 comentarios

Esto compila, pero lanza un tiempo de ejecución NullReferenceException :

pipelines.BeforeRequest.AddItemToStartOfPipeline((ctx, _) =>
{
    // do stuff
    // Func<NancyContext, Response>, Func<NancyContext, CancellationToken, Response>
    return null;
});

Esto funciona:

pipelines.BeforeRequest.AddItemToStartOfPipeline((ctx, _) =>
{
    //do stuff
    // Func<NancyContext, CancellationToken, Task<Response>>
    return Task<Response>.FromResult((Response)null);
});

Me tomó un poco golpearme la cabeza contra la pared hasta que me di cuenta de que no era ni súper tonto ni feliz.

@danbarua gracias. Abrí https://github.com/NancyFx/Nancy/issues/2665 porque quiero revisar la canalización tan pronto como hayamos tenido tiempo de ver el programa previo (que sucederá tan pronto como Nos movimos al nuevo formato csproj y eso está sucediendo ahora en #2720)

¡AFEITADO DE YAK! 😄

Este código arroja una excepción, ¿es este error?

```C#

BaseModule de clase pública: NancyModule
{
public BaseModule(cadena url) : base(url)
{
//Lógica personalizada
}
}

clase pública A: BaseModule
{
público A() : base("urlA")
{

}

}

clase pública B: NancyModule
{
público B ()
{

}

}


Ocurrió System.InvalidOperationException
HResult=0x80131509
Message=Algo salió mal al intentar satisfacer una de las dependencias durante la composición, asegúrese de haber registrado todas las dependencias nuevas en el contenedor e inspeccione la excepción interna para obtener más detalles.
Fuente=
Rastreo de pila:
en Nancy.Bootstrapper.NancyBootstrapperBase 1.SafeGetNancyEngineInstance() at Nancy.Bootstrapper.NancyBootstrapperBase 1.GetEngine()
en Nancy.Owin.NancyMiddleware.UseNancy(opciones de NancyOptions)
en Nancy.Owin.DelegateExtensions.UseNancy(Acción 1 builder, NancyOptions options) at PiggyBank.Site.Startup.<>c.<Configure>b__2_0(Action 1 x) en E:visual_studiopiggy-banksourcePiggyBank.SiteStartup.cs:línea 31
en Microsoft.AspNetCore.Builder.OwinExtensions.UseOwin (constructor IApplicationBuilder, canalización Action`1)
en PiggyBank.Site.Startup.Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) en E:visual_studiopiggy-banksourcePiggyBank.SiteStartup.cs:line 31

Excepción interna 1:
TinyIoCResolutionException: no se puede resolver el tipo: Nancy.NancyEngine

Excepción interna 2:
TinyIoCResolutionException: no se puede resolver el tipo: Nancy.Routing.DefaultRequestDispatcher

Excepción interna 3:
TinyIoCResolutionException: no se puede resolver el tipo: Nancy.Routing.DefaultRouteResolver

Excepción interna 4:
TinyIoCResolutionException: no se puede resolver el tipo: Nancy.Routing.RouteCache

Excepción interna 5:
TinyIoCResolutionException: no se puede resolver el tipo: BaseModule

Excepción interna 6:
TinyIoCResolutionException: no se puede resolver el tipo: System.String

Excepción interna 7:
TinyIoCResolutionException: no se puede resolver el tipo: System.Char[]

Excepción interna 8:
ArgumentNullException: el valor no puede ser nulo.

```

Es porque el módulo base no tiene un constructor que el contenedor IoC pueda satisfacer. No sabe cómo manejar string . Si no se supone que BaseModule se llame solo, le sugiero que lo haga abstract ...

Viejo:

Get["post/{id}"] = Get["old/post/{id}"] = p =>{};

Nuevo (2.0):

?

Get("publicación/{id}", MiMétodo);
Get("antiguo/post/{id}", MiMetodo);

Get("publicación/{id}", MiMétodo);
Get("antiguo/post/{id}", MiMetodo);

Ese uso agrega cierta indirección. A mí personalmente no me gusta eso. Sin embargo, no es un problema.

¿Tal vez es posible tener algunas sobrecargas de métodos para una expresión fluida? ejemplo:

Get("post/{id}")
.Get("old/post/{id}")
.Post("whatever/{id}", p => { return HttpStatusCode.Ok });

Una expresión alternativa

Get("post/{id}")
.Get("old/post/{id}")
.Post("whatever/{id}")
.Do(p => { return HttpStatusCode.Ok });

Puedo intentar relaciones públicas si es deseable

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