2016-04-28 12 views
0

Ich bin etwas verwirrt durch einen Fehler, den ich erhalte, während ich versuche, das einfache Nancy-Beispielprogramm zum Laufen zu bringen.Lambda-Fehler in Nancy Beispielanwendung

namespace NancyServer { 

    using Nancy; 

    public class ServerApi : NancyModule { 
     public ServerApi() { 
      Get["/"] = _ => "Hello World"; 
     } 
    } 

} 

Visual Studio 2013 pro Balken auf der Lambda in meiner Route.

_ => "Hello World"; 

Ich habe auch ein paar andere Ausdrücke versucht und sie alle haben das gleiche Problem.

Get["/products/{id}"] = _ => { 
    System.Console.WriteLine("test"); 
}; 

Das obige Snippet wurde auch direkt aus dem Nancy-Wiki gezogen.

Intellisense unterstreicht die Lambda-Zuweisung _ => und sagt, dass der Delegat kein Argument akzeptiert. Wenn ich versuche zu bauen, bekomme ich drei Fehler.

Ich habe jetzt für ein paar Stunden gegooglet und kann nicht herausfinden, was hier vor sich geht. Ist das ein Umgebungsfehler? Könnte es zu einer Art Namespace-Problem kommen? Ich habe Nancy und Nancy.Hosting.Self als Abhängigkeiten zu meinem Projekt hinzugefügt. Der einzige andere Code im Projekt ist ein einfacher Hauptserver, der den Dienst selbst hostet.

namespace NancyServer { 

    using System; 
    using Nancy.Hosting.Self; 

    public class ServerMain { 
     static void Main(string[] args) { 
      var nancyHost = new NancyHost(new Uri("http://localhost:25000")); 
      nancyHost.Start(); 
      Console.WriteLine("Server running..."); 
      Console.ReadKey(); 
      nancyHost.Stop(); 
     } 
    } 

} 

Ich habe Nancy und Nancy.Hosting.Self direkt durch Nuget in Pro VS2013.

Antwort

2

ändern es etwa so: Get["/"] = (params,token) => Task.FromResult<dynamic>("Hello World");

Nancy v2.0.0 ist async den ganzen Weg jetzt.

+0

Nur um zu verdeutlichen, der zweite Parameter ist ein 'CancellationToken' – TheCodeJunkie

+0

Nancy 2.0.0 ist Vorabversion Alpha, möchten Sie vielleicht die Verwendung der neuesten stabilen Version in Betracht ziehen, während Sie lernen. –