在南希阅读 appsettings
Reading appsettings in Nancy
我在 Nancy 1.4.3 中有一个网站 api。我在 applicationSettings 部分下的 web.config 中定义了一些设置。我想知道如何在 Nancy 模块(或引导程序)中读取这些设置?因为 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>
您会在 WebApi 中使用哪些 Nancy 中缺少的常规方法?
您应该能够像阅读任何 asp.net 应用程序一样阅读它。
确保添加对:
的引用
System.Configuration
在 Web.config 中添加您的密钥:
<appSettings>
<add key="key" value="hello key" />
</appSettings>
在您的引导程序中包含 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);
}
}
}
就是这样! :)
对于网络应用程序,我认为您真的应该使用 System.Web.Configuration:
using System.Web.Configuration
例如:
var someVar = WebConfigurationManager.AppSettings["SomeSetting"];
See here for more information.
我在 Nancy 1.4.3 中有一个网站 api。我在 applicationSettings 部分下的 web.config 中定义了一些设置。我想知道如何在 Nancy 模块(或引导程序)中读取这些设置?因为 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>
您会在 WebApi 中使用哪些 Nancy 中缺少的常规方法?
您应该能够像阅读任何 asp.net 应用程序一样阅读它。 确保添加对:
的引用System.Configuration
在 Web.config 中添加您的密钥:
<appSettings>
<add key="key" value="hello key" />
</appSettings>
在您的引导程序中包含 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);
}
}
}
就是这样! :)
对于网络应用程序,我认为您真的应该使用 System.Web.Configuration:
using System.Web.Configuration
例如:
var someVar = WebConfigurationManager.AppSettings["SomeSetting"];
See here for more information.