我试图为Nancy Post设置一个路由,在这里我希望提交一个JSON格式的对象,并使用它在Unity运行时触发一个事件——我认为这应该是相当标准的东西。
我认为通过遵循NancyFX : Deserialize JSON中的示例,我可以将请求的主体绑定到一个对象,然后在其他地方使用它,但是实际上我得到了一个相当神秘的错误:
Error CS1061: Type 'server.RESTServer' does not contain a definition for 'Bind' and no extension method 'Bind' of type 'server.RESTServer' could be found (are you missing a using directive or an assembly reference?) (CS1061) (server)
这是来自违规来源的相关章节:
using Nancy;
namespace server
{
public class RESTServer : Nancy.NancyModule, RESTInterface
{
public class LevelInfo
{
public string index;
}
public RESTServer ()
{
Delete ["/current/level"] = _ =>
{
UnloadLevel();
return HttpStatusCode.OK;
};
Get ["/current/level"] = _ => Level;
Post ["/current/level"] = _ =>
{
LevelInfo body = this.Bind<LevelInfo>(); //This is the offending line
// snip rest of implementation
}
}
}
}
我的mono/monodevelop版本信息是on pastebin here,程序集浏览器为nancy显示this, also linked on pastebin,。
我一般不会做太多的.NET开发,所以我确信这是一件非常简单的事情,但是我已经浪费了一个下午的时间来解决这个问题…任何帮助都将不胜感激。
最佳答案
Bind<>
是Nancy.ModelBinding
命名空间中的扩展方法。
你需要using Nancy.ModelBinding;