<p>Commentaires Nancy 2.0.0-clinteastwood</p>

Créé le 22 déc. 2016  ·  8Commentaires  ·  Source: NancyFx/Nancy

Si vous rencontrez des problèmes, veuillez ouvrir un problème et fournir autant d'informations que possible pour nous aider à identifier votre problème. Sinon, n'hésitez pas à soumettre une pull-request si vous pensez pouvoir aider à résoudre le problème. Si vous avez besoin d'un coup de main pour savoir comment démarrer avec les pull-requests, veuillez consulter nos directives de contribution . Assurez-vous de ne pas manquer les directives de style , je ne le ferai pas :D

REMARQUE : Étant donné que Nancy 2.0-clinteastwood est une version préliminaire, vous devrez installer les packages à l'aide de la bascule -pre , c'est-à-dire install-package Nancy -pre

Veuillez utiliser ce problème pour publier des commentaires qui ne sont pas directement liés à un bogue ou à une demande d'extraction spécifique signalé.

FAIRE

Voici une liste des tâches identifiées qui doivent être effectuées à la suite de la publication de 2.0.0-clinteastwood et qui doivent être terminées avant la publication de 2.0.0-dangermouse . Modifiez la liste TODO et ajoutez des éléments au fur et à mesure qu'ils sont trouvés, ajoutez des liens vers les pull-requests qui sont envoyés pour les fermer

  • [x] Assurez-vous que AsyncUsageAnalyzers est défini sur une dépendance de construction dans tous les project.json et packages.config Exemple correct à mettre en miroir ici - (pull request #2700 @jchannon
  • [x] Supprimer tous les anciens fichiers *.nuspec dans tous les projets (y compris Nancy) (pull-request #2658 @jchannon)
  • [x] Mise à jour Nancy.Hosting.Aspnet\project.json pour inclure web.config.transform dans le package (pull-request #2661 @thecodejunkie)
  • [x] Mise à jour Nancy.ViewEngines.Razor\project.json pour inclure app/web.config.transform dans le package (pull-request #2661 @thecodejunkie)
  • [ ] Mettre à jour Nancy.ViewEngines.Razor\project.json pour inclure Nancy.ViewEngines.Razor.BuildProvider (y compris les cibles de génération) dans le package

Changements prévus

  • [ ] Supprimez l'un des Request.Cookies et Request.Headers.Cookie voir #2628 pour les discussions
  • [ ] Améliorer la syntaxe et les fonctionnalités des crochets Avant et Après #2665
  • [ ] Examinez "Problème de performance potentiel avec Nancy.Routing.Route.Invoke #2623"
  • [ ] Ajout de la prise en charge de la configuration pour la négociation de contenu. Voir #2671 pour une discussion sur la résolution d'extension automatique
  • [ ] Mettre à jour l'infrastructure de test pour prendre en charge le netstandard, voir le problème #2612 et la pull-request #2628
  • [ ] Convertir les sous-systèmes restants en async, voir pull-request #2577
  • [ ] Supprimer les dernières parties restantes de StaticConfiguration

Limites connues

  • Certains packages peuvent installer AsyncUsageAnalyzers en tant que dépendance. Cela devrait pouvoir être supprimé en toute sécurité et ne sera pas inclus dans 2.0.0-dangermouse car il sera marqué comme une dépendance de construction dans tous les projets
  • Le package Nancy.Hosting.Aspnet n'appliquera pas les transformations *.config `, pour câbler l'hébergement, vous devrez l'appliquer vous-même
  • Le package Nancy.ViewEngines.Razor n'appliquera pas les transformations *.config ` pour câbler les options de configuration des moteurs de vue, vous devrez l'appliquer vous-même
  • Les fournisseurs de build pour Nancy.ViewEngines.Razor sont absents du package NuGet, ce qui entraîne des problèmes de coloration syntaxique dans les vues Nancy Razor
Improvement Epic

Commentaire le plus utile

C'est parce que le module de base n'a pas de constructeur que le conteneur IoC peut satisfaire. Il ne sait pas comment gérer string . Si le BaseModule n'est pas censé être appelé par lui-même, je vous suggère de le faire abstract ...

Tous les 8 commentaires

Cela compile, mais lance un run-time NullReferenceException :

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

Cela marche:

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

Il m'a fallu un peu me cogner la tête contre le mur jusqu'à ce que je comprenne ce qui n'est ni super-duper ni heureux.

@danbarua merci. J'ai ouvert https://github.com/NancyFx/Nancy/issues/2665 parce que je veux réviser le pipeline dès que nous aurons eu le temps de regarder le bootstrapper (ce qui arrivera dès que Je nous ai déplacé vers le nouveau format csproj et cela se passe maintenant dans # 2720)

RASAGE DE YAK ! 😄

Ce code lance une exception, est-ce un bogue ?

```C#

classe publique BaseModule : NancyModule
{
public BaseModule(chaîne url) : base(url)
{
//Logique personnalisée
}
}

classe publique A : BaseModule
{
public A() : base("urlA")
{

}

}

public classe B : NancyModule
{
publique B()
{

}

}


System.InvalidOperationException s'est produite
HRésultat=0x80131509
Message=Quelque chose s'est mal passé lors de la tentative de satisfaction de l'une des dépendances lors de la composition, assurez-vous que vous avez enregistré toutes les nouvelles dépendances dans le conteneur et inspectez l'exception interne pour plus de détails.
Origine=
Trace de la pile:
à Nancy.Bootstrapper.NancyBootstrapperBase 1.SafeGetNancyEngineInstance() at Nancy.Bootstrapper.NancyBootstrapperBase 1.GetEngine()
à Nancy.Owin.NancyMiddleware.UseNancy (options NancyOptions)
à Nancy.Owin.DelegateExtensions.UseNancy(Action 1 builder, NancyOptions options) at PiggyBank.Site.Startup.<>c.<Configure>b__2_0(Action 1 x) dans E:visual_studiopiggy-banksourcePiggyBank.SiteStartup.cs:line 31
sur Microsoft.AspNetCore.Builder.OwinExtensions.UseOwin (constructeur IApplicationBuilder, pipeline Action`1)
à PiggyBank.Site.Startup.Configure (application IApplicationBuilder, IHostingEnvironment env, ILoggerFactory loggerFactory) dans E:visual_studiopiggy-banksourcePiggyBank.SiteStartup.cs:line 31

Exception interne 1 :
TinyIoCResolutionException : Impossible de résoudre le type : Nancy.NancyEngine

Exception interne 2 :
TinyIoCResolutionException : Impossible de résoudre le type : Nancy.Routing.DefaultRequestDispatcher

Exception interne 3 :
TinyIoCResolutionException : Impossible de résoudre le type : Nancy.Routing.DefaultRouteResolver

Exception intérieure 4 :
TinyIoCResolutionException : Impossible de résoudre le type : Nancy.Routing.RouteCache

Exception intérieure 5 :
TinyIoCResolutionException : Impossible de résoudre le type : BaseModule

Exception intérieure 6 :
TinyIoCResolutionException : Impossible de résoudre le type : System.String

Exception intérieure 7 :
TinyIoCResolutionException : Impossible de résoudre le type : System.Char[]

Exception intérieure 8 :
ArgumentNullException : la valeur ne peut pas être nulle.

```

C'est parce que le module de base n'a pas de constructeur que le conteneur IoC peut satisfaire. Il ne sait pas comment gérer string . Si le BaseModule n'est pas censé être appelé par lui-même, je vous suggère de le faire abstract ...

Vieille:

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

Nouveau(2.0):

?

Get("post/{id}", MaMéthode);
Get("old/post/{id}", MaMéthode);

Get("post/{id}", MaMéthode);
Get("old/post/{id}", MaMéthode);

Cet usage ajoute une certaine indirection. Personnellement, je n'aime pas ça. Pas un problème cependant.

Peut-être est-il possible d'avoir des surcharges de méthode pour une expression fluide? Exemple:

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

Une expression alternative

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

Je peux essayer les relations publiques si cela est souhaitable

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

ndphuong picture ndphuong  ·  3Commentaires

phillip-haydon picture phillip-haydon  ·  3Commentaires

destagia picture destagia  ·  5Commentaires

jchannon picture jchannon  ·  9Commentaires

thecodejunkie picture thecodejunkie  ·  4Commentaires