【问题标题】:Global accessible mvc web application configuration?全局可访问的 mvc Web 应用程序配置?
【发布时间】:2013-10-09 07:54:39
【问题描述】:

一旦我的 Web 应用程序启动,它就会从自定义配置文件(!不是 web.config)中加载一些数据库连接参数,创建一个数据库实例并需要获取大约 120 个不同的数据库中正常工作所需的参数。我现在的问题是 - 让它们在全球范围内可访问的最佳方式是什么?

【问题讨论】:

    标签: c# asp.net-mvc asp.net-mvc-4 configuration


    【解决方案1】:

    您可以在它周围创建一个静态包装器,为每个参数或包含所有参数的字典创建一个属性:

    public static class ConfigParams
    {
        // Either properties for every parameter:
    
        public static string Culture { get; set; }
    
        public static string WebsiteTitle { get; set; }
    
        public static DateTime LastUpdate { get; set; }
    
        // Or a dictionary containing all the properties accessed by a string:
    
        Dictionairy<string, object> Params { get; set; }    
    }
    

    并像这样访问它们:

    string culture = ConfigParams.Culture;
    

    或者用字典:

    string culture = ConfigParams.Params["Culture"].ToString(); 
    

    【讨论】:

    • 这是一种常见的方法,还是我会因为干净的 mvc 实现而面临严重的缺点?如果我从 ASP MVC4 中学到一件事,那就是微软非常认真地按照自己的方式做事。
    • @Acrotygma MVC 本身并没有为此类问题提供解决方案。您还可以创建具有接口的服务并使用 IoC 框架来注入实现。这实际上取决于您的应用程序架构。
    猜你喜欢
    • 2010-09-05
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 2015-05-22
    • 1970-01-01
    • 2013-06-04
    • 2012-07-27
    • 2011-03-23
    相关资源
    最近更新 更多