Die Erweiterungsmethoden aufrufen:Response.AsJson doen't Arbeit, wenn es aus einer Funktion in NancyFx
Response.AsJson
Response.AsXml
funktioniert gut, wenn es aus dem constractor wie der Aufruf:
public class TweetModule : NancyModule
{
public TweetModule()
: base("/")
{
Post["/{action}.json/"] = parameters =>
{
return Reponse.Asjson(new {output:parameters.action}); // OK
}
}
}
Aber wenn ich rufe es von einer Funktion wie folgt aus:
public class TweetModule : NancyModule
{
public TweetModule()
: base("/")
{
Post["/{action}.{format}/"] = parameters =>
{
return GetResponse(parameters.action,parameters.format); // Error
}
}
public Response GetResponse(string action,string format)
{
if (format == "json")
return Response.AsJson(new {output:action}); // error
else
return Response.AsXml(new {output:action}); // error
}
}
ich erhalte diese Ausnahme:
<> f__AnonymousType0`1 [System.String] kann nicht serialisiert werden, da keinen parameterlosen Konstruktor hat.
ein Ratschlag?
Danke, aber immer noch der gleiche Fehler erscheint. –
Ich versuchte es letzte Nacht auf meiner Maschine und es funktionierte (mit den 0,10 nuggets von Nancy). Welche Werte geben Sie ein, um den Fehler zu erhalten? Laufen Sie auch auf dem ASP.NET-Host? – TheCodeJunkie
Übrigens sollten Sie den Aufruf von: base ("/") entfernen, der standardmäßig als implizit definiert ist. – TheCodeJunkie