Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当默认配置已经存储在其他地方时,是否没有必要对其进行硬编码?_C#_Wcf_Config - Fatal编程技术网

C# 当默认配置已经存储在其他地方时,是否没有必要对其进行硬编码?

C# 当默认配置已经存储在其他地方时,是否没有必要对其进行硬编码?,c#,wcf,config,C#,Wcf,Config,我目前正在参与一个包含数十个WCF服务的SOA项目。服务的业务逻辑配置存储在数据库中,特定的服务负责检索配置。如果配置服务关闭或发生其他异常,每个服务的默认配置也会硬编码到相应的服务中 我的问题是:硬编码配置是否不必要且丑陋?我们是否应该完全信任配置服务,而不是在代码中备份默认设置?一般来说,当默认配置已经存储在数据库等中时,您是否硬编码它们 对不起,我的英语不好。IMO,硬编码配置不合适,也不容易维护。如果您不能信任您的配置服务,那么您可以将配置存储在备份XML文档中并从中读取,而不是将它们作

我目前正在参与一个包含数十个WCF服务的SOA项目。服务的业务逻辑配置存储在数据库中,特定的服务负责检索配置。如果配置服务关闭或发生其他异常,每个服务的默认配置也会硬编码到相应的服务中

我的问题是:硬编码配置是否不必要且丑陋?我们是否应该完全信任配置服务,而不是在代码中备份默认设置?一般来说,当默认配置已经存储在数据库等中时,您是否硬编码它们


对不起,我的英语不好。

IMO,硬编码配置不合适,也不容易维护。如果您不能信任您的配置服务,那么您可以将配置存储在备份XML文档中并从中读取,而不是将它们作为硬编码元素

应用程序交付后,配置通常会发生更改,因此硬编码是需要频繁重建的一种方法。同样,不建议将它们存储在数据库中,因为这需要操作员访问或修改数据库,这会打破“最低特权”,并将它们与数据库访问凭据分离,从而使备份和审查更加困难


您通常信任您的操作员。这些人员监控系统并负责其持续运行。您还希望在开发人员和操作员之间实现“职责分离”,而硬编码则打破了这一点。

非常感谢您快速而合理的回答。@Mengfei请参阅以了解更多信息。基本上,你把一项任务分成两个或两个以上的人做的事情,这样一个人就不会意外或恶意地做坏事。