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-à-direinstall-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é.
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
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*.nuspec
dans tous les projets (y compris Nancy) (pull-request #2658 @jchannon)Nancy.Hosting.Aspnet\project.json
pour inclure web.config.transform
dans le package (pull-request #2661 @thecodejunkie)Nancy.ViewEngines.Razor\project.json
pour inclure app/web.config.transform
dans le package (pull-request #2661 @thecodejunkie)Nancy.ViewEngines.Razor\project.json
pour inclure Nancy.ViewEngines.Razor.BuildProvider
(y compris les cibles de génération) dans le packageRequest.Cookies
et Request.Headers.Cookie
voir #2628 pour les discussionsAsyncUsageAnalyzers
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 projetsNancy.Hosting.Aspnet
n'appliquera pas les transformations *.config
`, pour câbler l'hébergement, vous devrez l'appliquer vous-mêmeNancy.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êmeNancy.ViewEngines.Razor
sont absents du package NuGet, ce qui entraîne des problèmes de coloration syntaxique dans les vues Nancy RazorCela 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
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 leBaseModule
n'est pas censé être appelé par lui-même, je vous suggère de le faireabstract
...