NancyFX:如何使用引导程序来持久化对象

时间:2013-12-03 19:49:03

标签: c# nancy

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

1 个答案:

答案 0 :(得分:6)

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

那是;你的引导程序中有这样的东西:

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;
    }
  }