ASP.NET中web.config文件的替代方法
发布时间:2020-12-16 07:22:00 所属栏目:asp.Net 来源:网络整理
导读:根据我的经验,web.config文件受到广泛谴责.特别是,当您有多个支持环境时,我发现它们很难管理,并且由于缺少更新时的验证和 XML的冗长而需要更新. 有哪些替代方案? 解决方法 我个人不介意Web.Config用于小型一次性应用程序,但对于任何实质性的东西,我都避免将
根据我的经验,web.config文件受到广泛谴责.特别是,当您有多个支持环境时,我发现它们很难管理,并且由于缺少更新时的验证和
XML的冗长而需要更新.
有哪些替代方案? 解决方法
我个人不介意Web.Config用于小型一次性应用程序,但对于任何实质性的东西,我都避免将它们用于应用程序配置.
这是我做的…… >我根据复杂性为我的配置定义了一个或多个接口. 这是一个例子…… // Config Contract public interface IWebAppConfig { string SmtpHost { get; } string RootUrl { get; } } // Define Common Config Values (values that don't change per environment) public abstract class AbstractWebAppConfig : IWebAppConfig { public string SmtpHost { get { return "smtp.google.com"; } } public abstract RootUrl { get; } } // Dev Config Settings public class DevWebAppConfig : AbstractWebAppConfig { public override string RootUrl { get { return "http://localhost:1322"; } } } // Stage Config Settings public class StageWebAppConfig : AbstractWebAppConfig { public override string RootUrl { get { return "http://stage.mysite.com"; } } } // Prod Config Settings public class ProdWebAppConfig : AbstractWebAppConfig { public override string RootUrl { get { return "http://www.mysite.com"; } } } 这种方法的优点: >输入安全 您仍然可以使用web.config来定义环境,这是我通常通过将以下内容添加到appSettings来执行的操作: <appSettings> <!-- accepts: dev|stage|prod --> <add key="Env" value="dev" /> </appSettings> 或者,它可以通过使用Envrionment Variables或其他一些构造来基于机器. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读