我们在开发web系统的时候,使用web.config进行配置是司空见惯的,那么web.confg到底是什么呢?什么时候使用web.config呢?有几种使用web.config方式呢? 如果不太明白的话,那这篇文章就带领大家脑补下。

》》首先回答第一个问题,web.config是什么?

是一个XML文本文件。用来存储ASP.NETWEB的配置信息。修改不需要重启服务器就可以生效。

》》 然后第二个问题,什么时候使用web.config?

网站中很多不确定的可能随时更改的数据都可以写到配置文件里面。

》》有几种使用web.config的方式呢?

下面就介绍几种常见的:

~ connectionStrings配置(这个一般用来配置数据库连接)

  <connectionStrings>
<add name="Default" connectionString="Server=.; Database=Inferno;User ID=sa; Password=pwd123;MultipleActiveResultSets=true" providerName="System.Data.SqlClient" />
</connectionStrings>

获取:

  string dbStr=ConfigurationManager.ConnectionStrings["Default"].ConnectionString;

~appSettings配置(这个一般用来配置不确定的或者需要用户配置的内容)

 <appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>

获取

string clientValidationEnabled= ConfigurationManager.AppSettings["ClientValidationEnabled"].ToString();

~自定义配置(这个一般用户批量配置某些内容)

例如,我下面定义了一个jieDian 键值对配置和一个 fileupload 上传文件集合配置

其中,上面的UploadConditionHandler我对应的是一个类:(这个类需要继承IConfigurationSectionHandler并实现Create方法)

namespace TestProject
{
public class UploadConditionHandler : IConfigurationSectionHandler
{
public UploadConditionHandler() { }
public static NameValueCollection ossrules = ConfigurationManager.GetSection("testSectionGroup/jieDian") as NameValueCollection; public static Dictionary<string, UploadRequiredParameters> ScreensDictionary = ConfigurationManager.GetSection("testSectionGroup/fileupload") as Dictionary<string, UploadRequiredParameters>;
public object Create(object parent, object configContext, XmlNode section)
{
Dictionary<string, UploadRequiredParameters> screens = new Dictionary<string, UploadRequiredParameters>(); try
{
string name = string.Empty;
string path_rule = string.Empty;
string disk = string.Empty;
string receive_server = string.Empty;
string ext_array = string.Empty;
string max_memory_size = string.Empty;
string enum_bucket_name = string.Empty;
string max_pixel_height = string.Empty;
string max_pixel_width = string.Empty;
foreach (XmlNode childNode in section.ChildNodes)
{
if (childNode.NodeType != XmlNodeType.Element || childNode.Name != "upload")
continue; if (childNode.Attributes["name"] != null)
{
name = childNode.Attributes["name"].Value;
if (childNode.Attributes["path_rule"] != null)
{
path_rule = childNode.Attributes["path_rule"].Value;
}
if (childNode.Attributes["disk"] != null)
{
disk = childNode.Attributes["disk"].Value;
}
if (childNode.Attributes["receive_server"] != null)
{
receive_server = childNode.Attributes["receive_server"].Value;
}
if (childNode.Attributes["ext_array"] != null)
{
ext_array = childNode.Attributes["ext_array"].Value;
}
if (childNode.Attributes["max_memory_size"] != null)
{
max_memory_size = childNode.Attributes["max_memory_size"].Value;
}
if (childNode.Attributes["enum_bucket_name"] != null)
{
enum_bucket_name = childNode.Attributes["enum_bucket_name"].Value;
}
if (childNode.Attributes["max_height"] != null)
{
max_pixel_height = childNode.Attributes["max_height"].Value;
}
if (childNode.Attributes["max_width"] != null)
{
max_pixel_width = childNode.Attributes["max_width"].Value;
}
UploadRequiredParameters upload = new UploadRequiredParameters(); upload.PathRule = path_rule;
upload.Disk = disk;
upload.ReceiveServer = receive_server;
upload.ExtArray = ext_array; int maxMemorySize = ;
if (int.TryParse(max_memory_size, out maxMemorySize))
{
upload.MaxMemorySize = maxMemorySize;
}
upload.EnumBucketName = enum_bucket_name;
int maxPixelHeight = ;
if (int.TryParse(max_pixel_height, out maxPixelHeight))
{
upload.MaxPixelHeight = maxPixelHeight;
}
int maxPixelWidth = ;
if (int.TryParse(max_pixel_width, out maxPixelWidth))
{
upload.MaxPixelWidth = maxPixelWidth;
} screens.Add(name, upload);
}
}
}
catch (Exception ex)
{
throw ex;
}
return screens;
}
}
}

好了,上面的步骤完成后,就可以在其它地方调用了:

string jieDian1=UploadConditionHandler.ossrules["JieDian1"];
UploadRequiredParameters res = UploadConditionHandler.ScreensDictionary["UploadRules_Mostly"];

目前就先介绍这么多啦,有什么疑问的或者需要了解的欢迎留言~

web.config配置文件使用总结的更多相关文章

  1. Web.config配置文件详解

    整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点. <?xml v ...

  2. asp.net项目中通过Web.config配置文件及文件夹的访问权限!

    描述:在开发中我们通常会碰到这样的问题,例如:在项目的根目录下面有一个文件或者文件夹需要用户登陆后才能访问.如果用户在没有登录的情况下访问该文件或者该文件夹下面的文件时,直接拦截重定向到对应的登陆页面 ...

  3. [转]Web.config配置文件详解(新手必看)

    本文转自:http://www.cnblogs.com/gaoweipeng/archive/2009/05/17/1458762.html 花了点时间整理了一下ASP.NET Web.config配 ...

  4. 转:Web.config配置文件详解(新手必看)

    转:http://www.cnblogs.com/gaoweipeng/archive/2009/05/17/1458762.html 花了点时间整理了一下ASP.NET Web.config配置文件 ...

  5. Web.config配置文件

    优点:Web.config配置文件使得ASP.NET应用程序的配置变得灵活高效和容易实现并为ASP.NET应用提供了可扩展的配置,使得应用程序能够自定义配置,同时还包括的优点有:配置设置易读性.更新的 ...

  6. Web.config配置文件详解(新手必看)

    花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点. <? ...

  7. .net Web.Config配置文件 转

    .net Web.Config配置文件 博客分类: .net   .net Web.Config配置文件 一.配置信息 <?xml version="1.0" encodin ...

  8. (转)Web.config配置文件详解(新手必看)

    花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点. <? ...

  9. .NET Core迁移技巧之web.config配置文件

    大家都知道.NET Core现在不再支持原来的web.config配置文件了,取而代之的是json或xml配置文件.官方推荐的项目配置方式是使用appsettings.json配置文件,这对现有一些重 ...

  10. .NET Core 2.0迁移技巧之web.config配置文件

    大家都知道.NET Core现在不再支持原来的web.config配置文件了,取而代之的是json或xml配置文件.官方推荐的项目配置方式是使用appsettings.json配置文件,这对现有一些重 ...

随机推荐

  1. switch注意事项

    Day03_SHJavaTraining_4-5-2017 switch注意事项:①switch语句接受的数据类型 switch语句中的表达式的数据类型,是有要求的 JDK1.0 - 1.4    数 ...

  2. 3D集合图元:最小边界框/包围盒(boundingbox)

    对于2D边界框的应用时比较广泛地,它为一个简单匹配建立了很小的计算规则,3D模型的boundingbox则比较困难,计算代价较大.对于PCL库的使用则降低了计算难度,三维数值化降低了建模过程,可以使用 ...

  3. JS 蓝球弹起的高度 100 米 第几次高度小于1米

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. Go 语言一本通

    什么是GO语言? Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发 ...

  5. Maven安装和eclipse里面的配置

    一 . Maven简单介绍 Apache Maven是个项目管理和自动构建工具,基于项目对象模型(POM)的概念.       作用:完成项目的相关操作,如:编译,构建,单元测试,安装,网站生成和基于 ...

  6. 【数据分析学习】Pandas学习记录

    import pandas as pd path = r'F:\数据分析专用\数据分析与机器学习\food_info.csv' with open(path, 'r') as f: data = pd ...

  7. JS中增加日期格式化原型函数之prototype

    /** * javascript Date format(js日期格式化) * 对Date的扩展,将 Date 转化为指定格式的String 月(M).日(d).小时(h).分(m).秒(s).季度( ...

  8. 《代码敲不队》第八次团队作业:Alpha冲刺 第五天

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 代码敲不队 作业学习目标 掌握软件编码实现的工程要求. 团队项目github仓库地址链接 GitH ...

  9. Java 学习(9):java Stream & File & IO

    Java 流(Stream).文件(File)和IO Java.io 包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io 包中的流支持很多种格式,比如:基本类 ...

  10. 工具-VS插件Resharper快捷键

    编辑Ctrl + Space 代码完成 Ctrl + Shift + Space代码完成Ctrl + Alt + Space代码完成Ctrl + P 显示参数信息Alt + Insert 生成构造函数 ...