2017-01-05 32 views
0

我有一个相当标准的开箱即用的MVC应用程序。这个想法是根据特定的yes/no参数列表(某些视图是否显示)来确定其行为变化的某些方面。因为我的经验主要是使用WinForms,所以我的第一个想法是创建一个将在启动时序列化的XML文件。这是一种与MVC项目交互的有效且直观的方式,还是有更好的方式呢?而且,如果这样做很好,它是否可以像WinForms项目一样/以相同的方式完成?在MVC中使用配置文件

+1

这真的是基于观点和堆栈溢出不是一个合适的问题。找到最适合您和您的应用的产品。 – mason

+0

根据配置的复杂性,我发现JSON更易于阅读和“配置”。再次,取决于你的配置。 – mxmissile

+0

这取决于这些参数多久更改一次以及谁可以/应该更改它们。你可以使用一个模型,并根据需要设置构造函数为yes/no,稍后用其他来源(数据库,管理页面等)的逻辑覆盖它... –

回答

3

项目建成使用。NET通常会有一个web.config文件(XML )将为应用程序配置框架,并允许可以在运行时以编程方式访问的其他用户配置。

如果你的配置是微不足道的,你可以使用<appSettings />这些都是存储在文件中基本键值对字符串,可以这样设置:

<appSettings> 
    <add key="foo" value="bar" /> 
</appSettings> 

...和喜欢访问:

string value = ConfigurationManager.AppSettings["foo"]; // returns bar 

你可以尽情享受,并在配置文件中创建自己的自定义配置部分,但这涉及更多。

请参见下面的一些资源:

+0

这看起来接近我感兴趣的东西!我基本上只需要创建一个布尔值列表(目前它可以扩展到更多项目),我可以通过@if(useView1){//显示视图}等方式访问程序。其中useView1将是文件中的参数 –

-1

在asp.net MVC,您可以使用路由和使用URL来配置应用程序的行为阅读本routing in Asp.net ,这从asp.net网站Routing

+0

我不明白你的投票down.from他的问题使用路由是长期运行不使用web.config的最佳解决方案。什么问题指出正确的方式来做到这一点在ASP.net路由,因为在Web.Config已弃用在asp.net核心 – NinjaDeveloper

+0

我不负责倒票,但它可能是OP可能不希望这些选项被用户驱动,即“某些视图显示或不显示”。但是,如果他们这样做,是的,路由和路由参数是一个可行的选择。 –

1

创建您Web.config<appSettings></appSettings>的条目。 例子:<add key="FeatureEnabled" value="true" />

然后通过System.Configuration.ConfigurationManager访问它像这样 var isFeatureEnabled = bool.Parse(ConfigurationManager.AppSettings["FeatureEnabled"]);

相关问题