我在 Nancy 1.4.3 中有一个 web api。我在 applicationSettings 部分下的 web.config 中定义了一些设置。我想知道如何在 Nancy 模块(或 Bootstrapper)中读取这些设置?因为在 MVC/WebAPI 中读取这些设置的传统方法在 Nancy 中不可用。请考虑我使用的是 Nancy 1.4.3 而不是 Nancy 2x 和 .net 4.6.1 而不是 .net core。
为简单起见,我在 web.config 中编写 applicationSettings 部分的样子:
<applicationSettings>
<Applicaton1.Properties.Settings>
<setting name="DefaultUserID" serializeAs="String">
<value>BatchReader</value>
</setting>
<setting name="DefaultPaymentFrequencyCode" serializeAs="String">
<value>0</value>
</setting>
<setting name="DefaultPaymentTypeCode" serializeAs="String">
<value>1</value>
</setting>
</Application1.Properties.Settings>
您应该能够像阅读任何 asp.net 应用程序一样阅读它。确保添加对以下内容的引用:
System.Configuration
在 Web.config 中添加您的密钥:
<appSettings>
<add key="key" value="hello key" />
</appSettings>
在 Bootstrapper 中包含 System.Configuration:
namespace Test
{
using System.Configuration;
using Nancy;
using Nancy.Authentication.Forms;
using Nancy.Bootstrapper;
using Nancy.TinyIoc;
public class Bootstrapper : DefaultNancyBootstrapper
{
protected override void ApplicationStartup (TinyIoCContainer container,
IPipelines pipelines)
{
base.ApplicationStartup (container, pipelines);
StaticConfiguration.DisableErrorTraces = false;
StaticConfiguration.EnableRequestTracing = true;
}
protected override void ConfigureApplicationContainer (TinyIoCContainer
container)
{
base.ConfigureApplicationContainer (container);
var key = ConfigurationManager
.AppSettings.Get ("key")
}
protected override void ConfigureRequestContainer (TinyIoCContainer container,
NancyContext context)
{
base.ConfigureRequestContainer (container, context);
}
protected override void RequestStartup (TinyIoCContainer container,
IPipelines pipelines,
NancyContext context)
{
base.RequestStartup (container, pipelines, context);
}
}
}
就是这样!:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句