Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.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# 按照通过IIS配置的方式迁移web应用程序设置_C#_Asp.net_Iis - Fatal编程技术网

C# 按照通过IIS配置的方式迁移web应用程序设置

C# 按照通过IIS配置的方式迁移web应用程序设置,c#,asp.net,iis,C#,Asp.net,Iis,我们的web应用程序中有一些可以由用户配置的设置。由于IIS公开了用于配置“连接字符串”和“应用程序设置”的帮助程序,我们决定使用这种配置方法 不幸的是,这可以通过编辑Web应用程序中部署的Web.config文件来实现。这意味着从较新的web应用程序版本复制文件的简单升级过程会将所有配置设置重置为默认设置 可能的选择: 升级webapp时,请备份Web.config,然后将其还原。这并不优雅,如果最新的webapp在Web.config中定义了新的默认值属性,那么这将中断 在站点上编写一些仅

我们的web应用程序中有一些可以由用户配置的设置。由于IIS公开了用于配置“连接字符串”和“应用程序设置”的帮助程序,我们决定使用这种配置方法

不幸的是,这可以通过编辑Web应用程序中部署的Web.config文件来实现。这意味着从较新的web应用程序版本复制文件的简单升级过程会将所有配置设置重置为默认设置

可能的选择:

  • 升级webapp时,请备份Web.config,然后将其还原。这并不优雅,如果最新的webapp在Web.config中定义了新的默认值属性,那么这将中断

  • 在站点上编写一些仅限管理员的配置页面,并将值存储在数据库中。这将把控制权放回我们的手中,但写这篇文章需要付出努力,而且显然连接字符串存在引导问题


有更好的方法吗?

当我部署我正在处理的任何web应用程序的新版本时,我从不部署配置文件。我总是将此作为一个手动步骤,它确保不会意外地进行关键更改。您还可以选择将配置文件拆分为小型配置文件,例如,您可以将appSettings和ConnectionString拆分为单独的文件:

<connectionStrings configSource="_Configuration\Connections.config" />
<appSettings configSource="_Configuration\Settings.config" />

只需记住这些文件即可管理部署