南希:绑定创建空对象

时间:2014-12-21 11:13:44

标签: c# nancy

此方法不起作用:

Post["/Login"] = action =>
{
    var options = this.Bind();
}

变量“选项”为空! Object不为null,但它没有填充任何属性。

Post["/Login"] = action =>
{
    RequestStream body = this.Request.Body;
    TextReader text = new StreamReader(body);
    JsonReader json = new JsonTextReader(text);

    JsonSerializer serializer = new JsonSerializer();
    dynamic options = serializer.Deserialize(json);
}

在第二个例子中,“options”变量是OK ...所有属性都被填充(非空)。

我已经发现内部Bind方法会调用以下代码:

return (object) new DynamicModelBinderAdapter(module.ModelBinderLocator, module.Context, (object) null, configuration, blacklistedProperties);

但是这个适配器确实不是对象的实例。它只是传递值的容器。它还有方法TryConvert(ConvertBinder binder,out object result)。任何人都可以澄清Bind方法的真正含义吗?是否有可能获得所需的行为(就像在第二个例子中一样)。

0 个答案:

没有答案