在Nancy Lambda Capture中捕获“ this”

const_ref

我有一个看起来像这样的南希模块

public class Configurer : NancyModule
{
    private Settings mSettings;

    public Configurer()
    {
        mSettings = new Settings();

        Get["/"] = parameters =>
        {
            // Do something with mSettings here
            mSettings.Name = new string("blah");
            // and then return a response
            return Response.AsJson<Settings>(mSettings);.
        };
    }
}

我遇到的问题mSettings始终是null(我想是因为我没有捕获this到lamdba闭包中。我试图在闭包中传递此函数,但它不起作用)。我也尝试过使用paramaters动态字典,但是也失败了。是否可以在nancy模块中使用成员变量,如果可以,该怎么做?我可能缺少明显的东西!

关于设置等的创建没有任何异常,我可以在类的其他地方使用它,而不能在Lambda中使用。该类也是线程安全的,我只是没有将其添加到上面的示例中。

const_ref

事实证明,每次调用Nancy路由(GET等)时,都会构建新版本的Nancy模块。因此,生存期仅与该单个调用一样长。这意味着在定义Nancy路由之前,必须在构造函数中构造任何成员变量。

这样做的缺点是您不能在类中的其他地方修改或保留状态。因此,有必要将状态信息保留在其他位置,并提供一个接口以从Nancy模块中检索它。

上面的示例将按预期工作(因此不是最佳示例),但是在我的实际用例mSettings中,该类已使用另一种方法填充了该类的其他位置,并且仅在Nancy路由中被读取,此时状态无效。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Nancy Lambda Capture中捕获“ this”

来自分类Dev

捕获 Nancy 中的序列化错误

来自分类Dev

Nancy在Razor中的Intellisense

来自分类Dev

Nancy在Razor中的Intellisense

来自分类Dev

在 Nancy 中阅读 appsettings

来自分类Dev

GCC在lambda中捕获“ this”

来自分类Dev

GCC在lambda中捕获“ this”

来自分类Dev

发现Nancy ConfigurableBootstrapper中的所有模块

来自分类Dev

Nancy Self Host在Azure Worker角色中

来自分类Dev

= 在 lambda 的捕获列表中是否捕获 this 指针

来自分类Dev

何时在lambda中捕获“此”?

来自分类Dev

在Lambda中捕获std :: array

来自分类Dev

在Nancy中序列化字典时出错

来自分类Dev

模型绑定到Nancy中的Dictionary <string,string>

来自分类Dev

处理OnError或OnError.AddItemToEndOfPipeline中的Nancy错误?

来自分类Dev

Nancy模型绑定在Chrome,IE中不起作用

来自分类Dev

等效于OWIN / Nancy中的Request.UserHostName

来自分类Dev

在Nancy中序列化字典时出错

来自分类Dev

如何从 Nancy 2.0 上的 POST 请求中获取数据?

来自分类Dev

捕获列表中的C ++ lambda复制值

来自分类Dev

在lambda中捕获完美转发的变量

来自分类Dev

在lambda中,如何通过值捕获引用

来自分类Dev

捕获lambda表达式中的指针?

来自分类Dev

在匿名方法(lambda)中捕获的外部变量

来自分类Dev

在Lambda C ++ 14中捕获std :: promise

来自分类Dev

存储在容器中的C ++ Lambda捕获“此”

来自分类Dev

如何在lambda中捕获函数结果?

来自分类Dev

在可变lambda中通过const引用捕获

来自分类Dev

在AWS Lambda python函数中捕获异常