c# - 南希FX : How to use bootstrapper to persist an object

标签 c# nancy

我有一个 XML 文件,有时我想在 post/get 中访问。我不想每次点击 post/get 路由时都加载它,因为它是特定于应用程序的。我想我应该在 Bootstrap 中加载一个对象来存储我的数据一次,并根据需要引用它,但找不到任何具体示例 - 如何实现这一点?

最佳答案

您可以读取 XML 文件并将结果粘贴到您在应用程序启动期间在容器中注册的某个对象中。然后您的模块可以注入(inject)该对象。

也就是说;在你的 Bootstrap 中是这样的:

public class Bootstrapper : DefaultNancyBootstrapper
{
    protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines)
    {
        base.ApplicationStartup(container, pipelines);
        var myXmlCacheInstance = ... // read your xml file and create an object to hold it
        container.Register<MyXmlCahce>(myXmlCacheInstance);
    }
}

在你的模块中像这样:

public class HomeModule : NancyModule
{
    public HomeModule(MyXmlCache xmlCache)
    {
         Get["/"] => xmlCache;
    }
  }

关于c# - 南希FX : How to use bootstrapper to persist an object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20360280/

相关文章:

c# - 在 Listbox 上使用自定义 DataTemplate 时,SelectedItem 绑定(bind)停止工作

c# - NPGSQL:使用 LWGEOMCOLLECTION 类型调用的关联操作

c# - 如何在 Nancy 中注入(inject) ClaimsPrincipal

url-routing - NancyFX Catch All 路线

javascript - 在控制台应用程序中编辑 JavaScript 文件时出现意外的 ReSharper 警告

c# - 有没有办法在xml中使用条件编译符号

c# - 不能在 C# 中使用 "inline"数组?

c# - 如何分别处理ChartControl上的MouseClick和MouseDoubleClick事件

linux - 如何设置 Mono 的路径以便主管知道它?

c# - 南希代理请求