怎样动态更改App.config中的配置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样动态更改App.config中的配置相关的知识,希望对你有一定的参考价值。
在App.config 中设置了数据库连接字符串,
比如我现在要更改连接字符串中的登录密码,动态更改,根据页面上输入来更改,该如何操作。
请教专业人士
谢谢!
你可以独立建立一个例如database.config文件,然后读取或者改变config文件中的链接字符就可用了
或者用属性来表示字符串,用get和set的方式
private string _connectionstring; 参考技术A ConfigurationManager.ConnectionStrings[0].ConnectionString="修改密码后的链接字符串" 参考技术B 远程链接啊
thinkphp5源码剖析系列2-配置文件
前言
tp5的配置种类包含四个分类
- 惯例配置
核心框架内置的配置文件(thinkphp/convention.php),无需更改。
- 应用配置
每个应用的全局配置文件(项目根目录下app/config目录下的文件)。
- 模块配置
每个模块的配置文件(相同配置参数会覆盖应用配置。)比如index模块app/index/config/database.php
- 动态配置
主要指在控制器或行为中进行(动态)更改配置。建议少用
以上配置优先级越来越高
ArrayAccess相关知识
如果你的类实现了ArrayAccess接口,那么这个类的对象就可以使用$foo[‘xxx‘]这种结构了。
$foo[‘xxx‘] 对应调用offsetGet方法。
$foo[‘xxx‘] = ‘yyy‘ 对应调用offsetSet方法。
isset($foo[‘xxx‘]) 对应调用offsetExists方法。
unset($foo[‘xxx‘]) 对应调用offsetUnset方法。
具体实现:
<?php
namespace lib;
class ArrayObj implements ArrayAccess{
private $arr = [
‘name‘ => ‘cl‘,
‘age‘ => ‘25‘
];
public function offsetExists( $offset ) {
return isset($this->arr[$offset]);
}
public function offsetGet( $offset ) {
return $this->arr[$offset];
}
public function offsetSet( $offset, $value ) {
return $this->arr[$offset] = $value;
}
public function offsetUnset( $offset ) {
unset( $this->arr[$offset]);
}
}
以上是关于怎样动态更改App.config中的配置的主要内容,如果未能解决你的问题,请参考以下文章
App.config 中的更改不会在重新启动应用程序后反映出来
使用 FileSystemMonitoring 读取 app.config 中的更改并实时写入 app.config