我有一个 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/