文章标签 ‘配置文件’
web.config是以xml文件规范存储网站配置信息的载体,这一点跟应用程序配置文件app.config一样. 这个配置文件可以方便为我们存储一些网站配置信息,如网站数据库连接字符串,错误页面等 <configuration> 跟元素,其他节点都在它的内部 跟元素内部包含 <configSections> 配置节处理声明,指定配置节和命名空间的声明。通常,我们要载入第三方框架的时候会用到,如Log4net(日志),DCWeb(Gzip压缩),UrlRewriter(URL重写) 例子: <appSettings> 包含自定义应用程序设置,存储在文件中的任何信息。 例子: <connectionStrings> 为网站指定数据库连接字符串(名称/值对的形式)的集合。 例子: <system.web> 配置网站的行为方式,内部包括了asp.net网站的所有配置信息 子节点包括 <customErrors>错误信息配置 例子: <globalization> 国际化配置节点 <sessionState> 会话状态设置节点 <httpRuntime> http运行时设置
asp.net数据库连接字符串,由于开发环境和部署环境的不同,我们不能写到代码中,通常是写在配置文件中即web.config,下面介绍两种方式 appSettings节点,用来保存自定义程序配置信息,key,value组成 web.config 调用 connectionStrings节点,用来保存连接字符串,name,connectionString组成,有更丰富的配置属性,推荐 web.config 调用
在 web.config 中可以存储数据库连接语句(通常存于 <connectionString>),也可以存储 SQL 语句(通常存于<appSettings>),这样在我们的程序中就可以非常方便地调用,特别是 .NET Framework 2.0 中使用声明式数据绑定,更是需要将这些信息存储在 web.config 中。利用明文存储这些敏感信息是不明智的,这就需要加密。 利用 aspnet_regiis 对 web.config 加密 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis -pef connectionStrin gs E:\wwwroot -prov DataProtectionConfigurationProvider -pef 指定两个参数: 这里 connectionStrings 是要进行加密的配置节,如果配置节不是根元素则就指定路径,如:父配置节/子配置节。 这里 E:\wwwroot 是要加密的配置文件所在的物理目录。 -prov 表示使用哪个驱动来加密,一共有两个驱动可选,在类似于 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG 的位置,我们可以找到 machine.config 文件,在其 configProtectedData 配置节,我们可以看到这两个驱动的名称,以及默认的驱动是哪一个。这两个驱动是 RsaProtectedConfigurationProvider(类名 RsaProtectedConfigurationProvider)和 DataProtectionConfigurationProvider(类名 DpapiProtectedConfigurationProvider)。 RsaProtectedConfigurationProvider RSA 加密,公钥/私钥均存储在配置文件中,移植方便。 DataProtectionConfigurationProvider 使用 Windows 内置的加密服务,密钥由 LSASS.EXE 管理,无法移植。通过设置可以限定是只能某个帐户可以使用加密的数据,还是 Windows 中所有帐户均可使用。 [...]