Wenn Sie Probleme finden, öffnen Sie bitte ein Problem und geben Sie so viele Informationen wie möglich an, damit wir Ihr Problem identifizieren können. Alternativ können Sie gerne eine Pull-Anfrage einreichen, wenn Sie glauben, dass Sie zur Lösung des Problems beitragen können. Wenn Sie eine Anleitung benötigen, wie Sie mit Pull-Requests beginnen können, werfen Sie bitte einen Blick auf unsere Beitragsrichtlinien . Achtet darauf, dass ihr die Stilrichtlinien nicht verpasst, das werde ich nicht tun :D
HINWEIS: Da es sich bei Nancy 2.0-clinteastwood um eine Vorabversion handelt, müssen Sie Pakete mit dem Schalter
-pre
installieren, dhinstall-package Nancy -pre
Bitte verwenden Sie dieses Problem, um Kommentare zu posten, die nicht direkt mit einem bestimmten gemeldeten Fehler oder Pull-Request zusammenhängen.
Im Folgenden finden Sie eine Liste identifizierter Aufgaben, die nach der Veröffentlichung von 2.0.0-clinteastwood
durchgeführt werden müssen und vor der Veröffentlichung 2.0.0-dangermouse
abgeschlossen sein sollten. Bearbeiten Sie die TODO-Liste und fügen Sie gefundene Elemente hinzu, fügen Sie Links zu Pull-Requests hinzu, die gesendet werden, um sie zu schließen
AsyncUsageAnalyzers
in allen project.json
und packages.config
auf eine Build-Abhängigkeit gesetzt ist. Korrektes Beispiel zum Spiegeln hier – (Pull Request #2700 @jchannon*.nuspec
-Dateien in allen Projekten (einschließlich Nancy) (Pull-Request #2658 @jchannon)Nancy.Hosting.Aspnet\project.json
aktualisieren, um web.config.transform
in das Paket aufzunehmen (Pull-Request #2661 @thecodejunkie)Nancy.ViewEngines.Razor\project.json
aktualisieren, um app/web.config.transform
in das Paket aufzunehmen (Pull-Request #2661 @thecodejunkie)Nancy.ViewEngines.Razor\project.json
, um Nancy.ViewEngines.Razor.BuildProvider
(einschließlich Build-Ziele) in das Paket aufzunehmenRequest.Cookies
und Request.Headers.Cookie
, siehe #2628 für DiskussionenAsyncUsageAnalyzers
als Abhängigkeit installieren. Dies sollte sicher entfernt werden können und wird nicht in 2.0.0-dangermouse
enthalten sein, da es in allen Projekten als Build-Abhängigkeit gekennzeichnet wirdNancy.Hosting.Aspnet
-Paket wendet keine *.config
-Transformationen an, um das Hosting zu verkabeln, müssen Sie es selbst anwendenNancy.ViewEngines.Razor
-Paket wendet keine *.config
-Transformationen an, um die Konfigurationsoptionen der View-Engines zu verbinden, Sie müssen es selbst anwendenNancy.ViewEngines.Razor
fehlen im NuGet-Paket, was zu Problemen mit der Syntaxhervorhebung in Nancy Razor-Ansichten führtDies wird kompiliert, wirft aber eine Laufzeit NullReferenceException
:
pipelines.BeforeRequest.AddItemToStartOfPipeline((ctx, _) =>
{
// do stuff
// Func<NancyContext, Response>, Func<NancyContext, CancellationToken, Response>
return null;
});
Das funktioniert:
pipelines.BeforeRequest.AddItemToStartOfPipeline((ctx, _) =>
{
//do stuff
// Func<NancyContext, CancellationToken, Task<Response>>
return Task<Response>.FromResult((Response)null);
});
Es hat ein bisschen gedauert, meinen Kopf gegen die Wand zu schlagen, bis ich es herausgefunden habe, was weder super-duper noch glücklich ist.
@danbarua danke. Ich habe https://github.com/NancyFx/Nancy/issues/2665 geöffnet, weil ich das Pipeline-Zeug überholen möchte, sobald wir die Zeit hatten, uns den Bootstrapper anzusehen (was bald geschehen wird Ich habe uns auf das neue csproj-Format umgestellt und das passiert jetzt in #2720)
Yak-Rasur! 😄
Dieser Code löst eine Ausnahme aus, ist das ein Fehler?
```C#
öffentliche Klasse BaseModule : NancyModule
{
public BaseModule(string url) : base(url)
{
//Benutzerdefinierte Logik
}
}
öffentliche Klasse A: BaseModule
{
public A() : base("urlA")
{
}
}
öffentliche Klasse B: NancyModule
{
öffentlich B()
{
}
}
System.InvalidOperationException ist aufgetreten
HResult=0x80131509
Message=Beim Versuch, eine der Abhängigkeiten während der Komposition zu erfüllen, ist etwas schief gelaufen. Stellen Sie sicher, dass Sie alle neuen Abhängigkeiten im Container registriert haben, und untersuchen Sie die innereException auf weitere Details.
Quelle=
StackTrace:
bei Nancy.Bootstrapper.NancyBootstrapperBase 1.SafeGetNancyEngineInstance()
at Nancy.Bootstrapper.NancyBootstrapperBase
1.GetEngine()
bei Nancy.Owin.NancyMiddleware.UseNancy(NancyOptions-Optionen)
bei Nancy.Owin.DelegateExtensions.UseNancy(Action 1 builder, NancyOptions options)
at PiggyBank.Site.Startup.<>c.<Configure>b__2_0(Action
1 x) in E:visual_studiopiggy-banksourcePiggyBank.SiteStartup.cs:line 31
bei Microsoft.AspNetCore.Builder.OwinExtensions.UseOwin (IApplicationBuilder Builder, Action`1-Pipeline)
bei PiggyBank.Site.Startup.Configure (IApplicationBuilder App, IHostingEnvironment env, ILoggerFactory loggerFactory) in E:visual_studiopiggy-banksourcePiggyBank.SiteStartup.cs:line 31
Innere Ausnahme 1:
TinyIoCResolutionException: Typ kann nicht aufgelöst werden: Nancy.NancyEngine
Innere Ausnahme 2:
TinyIoCResolutionException: Typ kann nicht aufgelöst werden: Nancy.Routing.DefaultRequestDispatcher
Innere Ausnahme 3:
TinyIoCResolutionException: Typ kann nicht aufgelöst werden: Nancy.Routing.DefaultRouteResolver
Innere Ausnahme 4:
TinyIoCResolutionException: Typ kann nicht aufgelöst werden: Nancy.Routing.RouteCache
Innere Ausnahme 5:
TinyIoCResolutionException: Typ kann nicht aufgelöst werden: BaseModule
Innere Ausnahme 6:
TinyIoCResolutionException: Typ kann nicht aufgelöst werden: System.String
Innere Ausnahme 7:
TinyIoCResolutionException: Typ kann nicht aufgelöst werden: System.Char[]
Innere Ausnahme 8:
ArgumentNullException: Der Wert darf nicht null sein.
```
Das liegt daran, dass das Basismodul keinen Konstruktor hat, den der IoC-Container erfüllen kann. Es weiß nicht, wie es mit string
umgehen soll. Wenn das BaseModule
nicht alleine heißen soll, schlage ich vor, dass Sie es abstract
machen ...
Alt:
Get["post/{id}"] = Get["old/post/{id}"] = p =>{};
Neu (2.0):
?
Get("post/{id}", MyMethod);
Get("old/post/{id}", MyMethod);
Get("post/{id}", MyMethod);
Get("old/post/{id}", MyMethod);
Diese Verwendung fügt eine gewisse Indirektion hinzu. Ich persönlich mag das nicht. Kein Problem.
Vielleicht ist es möglich, einige Methodenüberladungen für fließende Ausdrücke zu haben? Beispiel:
Get("post/{id}")
.Get("old/post/{id}")
.Post("whatever/{id}", p => { return HttpStatusCode.Ok });
Ein alternativer Ausdruck
Get("post/{id}")
.Get("old/post/{id}")
.Post("whatever/{id}")
.Do(p => { return HttpStatusCode.Ok });
Ich kann es mit PR versuchen, wenn dies wünschenswert ist
Hilfreichster Kommentar
Das liegt daran, dass das Basismodul keinen Konstruktor hat, den der IoC-Container erfüllen kann. Es weiß nicht, wie es mit
string
umgehen soll. Wenn dasBaseModule
nicht alleine heißen soll, schlage ich vor, dass Sie esabstract
machen ...