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

qti*_*e67 3 c# nancy

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

Chr*_*dal 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);
    }
}
Run Code Online (Sandbox Code Playgroud)

在你的模块中这样:

public class HomeModule : NancyModule
{
    public HomeModule(MyXmlCache xmlCache)
    {
         Get["/"] => xmlCache;
    }
  }
Run Code Online (Sandbox Code Playgroud)