校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > .Net MVC網站中配置文件的讀寫

.Net MVC網站中配置文件的讀寫

熱門標簽:電銷外呼系統是違法的嗎 漯河外呼調研線路 電話機器人鑰匙扣 地圖標注位置怎么弄圖 電銷專用外呼線路 廣西房產智能外呼系統推薦 威力最大的電銷機器人 400電話唐山辦理 旅游地圖標注線路

網站中有很多需要設置的內容,像網站信息,注冊設置,上傳設置等。如果保存在數據庫中需要單獨建張表,表中只有一條記錄,這樣會讓數據庫很臃腫,而且頻繁存取數據庫的效率也是個問題。而保存在config文件里是個不錯選擇,而且帶有緩存功能! 

我們可以在web.config的配置節寫入配置。 

configuration>
 configSections>
 section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
 !--這里可以定義配置節 -->
 !-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
 /configSections> 

但是把大量的配置都寫入這里也會造成web.config的臃腫,可以采用把配置節定義在這里,把具體配置信息保存在其他文件中。 

以上傳配置信息為例,看一下理想的結構 

Config\Upload.config的內容 

1、配置的元素。采用add />的形式,是一個鍵和值得表示形式。add key="MaxSize" value="1500000" />。 
2、元素的集合,里面定義一系列的元素。UploadConfig>……/UploadConfig> 
3、自定義節,表示自定義的一個節點。section name="UploadConfig"  type="Ninesky.Models.Config.UploadConfig, Ninesky.Models"/> 

name:節點名,type:處理節點的類行,逗號前是類名,逗號后是縮在程序集。

我們要創建這個類來管理配置 

一、創建鍵,值元素類。 

里面只有兩個讀寫屬性key和value,內容非常簡單 

using System.Configuration;

namespace Ninesky.Models.Config
{
 /// summary>
 /// 鍵值元素類
 /// remarks>
 /// 創建:2014.03.09
 /// /remarks>
 /// /summary>
 public class KeyValueElement:ConfigurationElement
 {
  /// summary>
  /// 鍵
  /// /summary>
  [ConfigurationProperty("key",IsRequired=true)]
  public string Key {
   get { return this["key"].ToString(); }
   set { this["key"] = value; }
  }
  /// summary>
  /// 值
  /// /summary>
  [ConfigurationProperty("value")]
  public string Value
  {
   get { return this["value"].ToString(); }
   set { this["value"] = value; }
  }
 }
}

二、創建元素集合類。內容很簡單都進行了注釋 

using System;
using System.Configuration;

namespace Ninesky.Models.Config
{
 /// summary>
 /// 元素集合類
 /// remarks>
 /// 創建:2014.03.09
 /// /remarks>
 /// /summary>
 [ConfigurationCollection(typeof(KeyValueElement))]
 public class KeyValueElementCollection:ConfigurationElementCollection
 {
  //忽略大小寫
  public KeyValueElementCollection() : base(StringComparer.OrdinalIgnoreCase) { }
  /// summary>
  /// 集合中指定鍵的元素
  /// /summary>
  /// param name="name">/param>
  /// returns>/returns>
  new public KeyValueElement this[string name]
  {
   get { return (KeyValueElement)base.BaseGet(name); }
   set
   {
    if (base.Properties.Contains(name)) base[name] = value;
    else base.BaseAdd(value);
   }
  }
  /// summary>
  /// 創建新元素.
  /// 必須重寫
  /// /summary>
  /// returns>/returns>
  protected override ConfigurationElement CreateNewElement()
  {
   return new KeyValueElement();
  }
  /// summary>
  /// 獲取元素的鍵
  /// /summary>
  /// param name="element">/param>
  /// returns>/returns>
  protected override object GetElementKey(ConfigurationElement element)
  {
   return ((KeyValueElement)element).Key;
  }
 }
}

三、配置節類 

類中定義私有屬性KeyValues。進行讀寫配置節集合,然后定義一系列的需要的配置屬性,操作就是對KeyValues的元素讀寫。 

using System.Configuration;

namespace Ninesky.Models.Config
{
 /// summary>
 /// 上傳設置配置節
 /// remarks>
 /// 創建:2014.03.09
 /// /remarks>
 /// /summary>
 public class UploadConfig:ConfigurationSection
 {
  private static ConfigurationProperty _property = new ConfigurationProperty(string.Empty, typeof(KeyValueElementCollection), null, ConfigurationPropertyOptions.IsDefaultCollection);
  /// summary>
  /// 配置列表
  /// /summary>
  [ConfigurationProperty("", Options = ConfigurationPropertyOptions.IsDefaultCollection)]
  private KeyValueElementCollection KeyValues
  {
   get { return (KeyValueElementCollection)base[_property]; }
   set { base[_property] = value; }
  }
  /// summary>
  /// 最大大小
  /// /summary>
  public int MaxSize
  {
   get
   {
    int _value =0;
    if (KeyValues["MaxSize"] != null) int.TryParse(KeyValues["MaxSize"].Value, out _value);
    return _value;
   }
   set
   {
    if (KeyValues["MaxSize"] == null) KeyValues["MaxSize"] = new KeyValueElement() { Key = "MaxSize", Value = value.ToString() };
    else KeyValues["MaxSize"].Value = value.ToString();
   }
  }

  /// summary>
  /// 上傳目錄
  /// 為應用程序目錄起的文件夾名,前面不帶~/
  /// /summary>
  public string Path
  {
   get
   {
    if (KeyValues["Path"] == null) return "Upload";
    return KeyValues["Path"].Value;
   }
   set
   {
    if (KeyValues["Path"] == null) KeyValues["Path"] = new KeyValueElement() { Key = "Path", Value = value };
    else KeyValues["Path"].Value = value;
   }
  }

  /// summary>
  /// 允許上傳的圖片類型文件擴展,多個用“,”隔開
  /// /summary>
  public string ImageExt
  {
   get
   {
    if (KeyValues["ImageExt"] == null) return string.Empty;
    return KeyValues["ImageExt"].Value;
   }
   set
   {
    if (KeyValues["ImageExt"] == null) KeyValues["ImageExt"] = new KeyValueElement() { Key = "ImageExt", Value = value };
    else KeyValues["ImageExt"].Value = value;
   }
  }

  /// summary>
  /// 允許上傳的Flash類型文件擴展,多個用“,”隔開
  /// /summary>
  public string FlashExt
  {
   get
   {
    if (KeyValues["FlashExt"] == null) return string.Empty;
    return KeyValues["FlashExt"].Value;
   }
   set
   {
    if (KeyValues["FlashExt"] == null) KeyValues["FlashExt"] = new KeyValueElement() { Key = "FlashExt", Value = value };
    else KeyValues["FlashExt"].Value = value;
   }
  }

  /// summary>
  /// 允許上傳的媒體類型文件擴展,多個用“,”隔開
  /// /summary>
  public string MediaExt
  {
   get
   {
    if (KeyValues["MediaExt"] == null) return string.Empty;
    return KeyValues["MediaExt"].Value;
   }
   set
   {
    if (KeyValues["MediaExt"] == null) KeyValues["MediaExt"] = new KeyValueElement() { Key = "MediaExt", Value = value };
    else KeyValues["MediaExt"].Value = value;
   }
  }

  /// summary>
  /// 允許上傳的文件類型文件擴展,多個用“,”隔開
  /// /summary>
  public string FileExt
  {
   get
   {
    if (KeyValues["FileExt"] == null) return string.Empty;
    return KeyValues["FileExt"].Value;
   }
   set
   {
    if (KeyValues["FileExt"] == null) KeyValues["FileExt"] = new KeyValueElement() { Key = "FileExt", Value = value };
    else KeyValues["FileExt"].Value = value;
   }
  }
 }
}

四、讀取配置 
也是最關系的,配置信息怎么讀出來。在上面類寫好后讀取非常容易了,只需用WebConfigurationManager.OpenWebConfiguration("~"). GetSection()獲取配置節的實例,局可以使用屬性值了 

var _uploadConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~").GetSection("UploadConfig") as Ninesky.Models.Config.UploadConfig;
   //文件最大限制
   int _maxSize = _uploadConfig.MaxSize;
   //文件路徑
   string _fileParth = _uploadConfig.Path ;
   string _dirName;
   //允許上傳的類型
   Hashtable extTable = new Hashtable();
   extTable.Add("image", _uploadConfig.ImageExt);
   extTable.Add("flash", _uploadConfig.FileExt);
   extTable.Add("media", _uploadConfig.MediaExt);
   extTable.Add("file", _uploadConfig.FileExt);

五、寫入配置
 跟讀取類似,把屬性值設置后save()一下,內容就會保存到Config\Upload.config中。 

代碼如下: 

var _uploadConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~").GetSection("UploadConfig") as Ninesky.Models.Config.UploadConfig;
   //文件最大限制
   int _maxSize = _uploadConfig.MaxSize;
   _uploadConfig.FileExt = "doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2";
   _uploadConfig.FlashExt = "swf,flv";
   _uploadConfig.ImageExt = "gif,jpg,jpeg,png,bmp";
   _uploadConfig.MediaExt = "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb";
   _uploadConfig.Path = "Upload";
   _uploadConfig.CurrentConfiguration.Save();

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • ASP.NET MVC5網站開發之用戶角色的后臺管理1(七)
  • ASP.NET MVC5網站開發之登錄、驗證和注銷管理員篇1(六)
  • ASP.NET MVC5網站開發之業務邏輯層的架構和基本功能 (四)
  • ASP.NET MVC5網站開發之實現數據存儲層功能(三)
  • ASP.NET MVC5網站開發之網站設置(九)
  • ASP.NET MVC5網站開發修改及刪除文章(十)
  • ASP.NET MVC5網站開發添加文章(八)
  • ASP.NET MVC5網站開發文章管理架構(七)
  • ASP.NET MVC5網站開發用戶登錄、注銷(五)
  • MVC4制作網站教程第一篇 緒論

標簽:銅陵 湖北 欽州 焦作 試駕邀約 綏化 湘西 無錫

巨人網絡通訊聲明:本文標題《.Net MVC網站中配置文件的讀寫》,本文關鍵詞  .Net,MVC,網站,中,配置文件,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《.Net MVC網站中配置文件的讀寫》相關的同類信息!
  • 本頁收集關于.Net MVC網站中配置文件的讀寫的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产精品视频一二| 国产成人午夜电影网| 色噜噜久久综合| 日韩精品在线一区二区| 日韩高清一区在线| 99久久免费精品高清特色大片| 久久伊人中文字幕| 国产伦精品一区二区三区免费 | 国产麻豆视频一区| 色狠狠av一区二区三区| 亚洲人精品一区| www.av亚洲| 亚洲欧洲精品天堂一级| 成人自拍视频在线观看| 亚洲国产成人自拍| www.欧美精品一二区| 美女免费视频一区| 久久久久久久电影| 成人99免费视频| 亚洲一区av在线| 日韩精品最新网址| 97久久精品人人爽人人爽蜜臀| 亚洲一级二级在线| 2020国产精品| 欧美色图片你懂的| 国产麻豆成人传媒免费观看| 亚洲蜜桃精久久久久久久| 69精品人人人人| 国产99久久久久| 午夜免费久久看| 欧美国产日韩精品免费观看| 欧美日韩国产a| 床上的激情91.| 日韩av二区在线播放| 日本一二三四高清不卡| 欧美伦理视频网站| 97精品视频在线观看自产线路二| 日本欧美韩国一区三区| 亚洲欧洲成人自拍| 欧美电影免费观看高清完整版在线观看 | 亚洲色图欧洲色图婷婷| 日韩欧美国产精品| 欧美性xxxxxxxx| 丁香天五香天堂综合| 日本在线不卡一区| 亚洲欧美日韩一区| 国产欧美一区二区三区鸳鸯浴 | 欧美一级国产精品| 91黄色激情网站| 粉嫩aⅴ一区二区三区四区五区 | 中文字幕一区二区三区不卡| 欧美一级生活片| 在线观看中文字幕不卡| 99久久亚洲一区二区三区青草| 蜜臀av一区二区在线观看| 伊人一区二区三区| 亚洲欧美日韩电影| 国产精品视频你懂的| 久久天天做天天爱综合色| 在线播放国产精品二区一二区四区 | 777午夜精品视频在线播放| 波多野结衣的一区二区三区| 国产乱理伦片在线观看夜一区| 日韩av网站免费在线| 亚洲va国产天堂va久久en| 亚洲精品第一国产综合野| 国产精品盗摄一区二区三区| 国产日韩欧美精品在线| 久久久亚洲精品一区二区三区| 日韩欧美一区中文| 欧美一区二区三区四区视频| 欧美日韩久久一区二区| 欧美日韩中文字幕精品| 一本久久a久久免费精品不卡| a在线播放不卡| 91丨porny丨中文| 色婷婷综合久久久久中文| 91丨porny丨在线| 91国产免费看| 欧美色网站导航| 7777精品久久久大香线蕉 | 久久不见久久见免费视频1| 日本欧美一区二区| 久久99久久99精品免视看婷婷| 久久不见久久见中文字幕免费| 蜜桃精品视频在线| 老司机精品视频在线| 韩国三级中文字幕hd久久精品| 精品影院一区二区久久久| 国产一区二区女| 成人精品国产一区二区4080| 成人性生交大片免费看在线播放 | 五月综合激情日本mⅴ| 午夜久久久久久| 日韩av不卡在线观看| 国内精品伊人久久久久av影院| 国产黄色精品视频| www.亚洲在线| 欧美午夜视频网站| 欧美成人aa大片| 国产免费成人在线视频| 亚洲图片你懂的| 日韩avvvv在线播放| 狠狠色狠狠色综合日日91app| 丁香婷婷综合色啪| 欧美日韩一区二区在线观看视频| 91精品国产综合久久国产大片| 欧美v日韩v国产v| 亚洲手机成人高清视频| 日韩综合一区二区| 国产乱码精品一区二区三| 色综合天天综合网天天看片| 欧美一区二区人人喊爽| 午夜私人影院久久久久| 国产精品一区二区在线播放| 97精品国产露脸对白| 日韩欧美的一区| 国产精品妹子av| 日本欧美韩国一区三区| www.久久久久久久久| 欧美一区二区久久| 亚洲三级小视频| 精品在线播放午夜| 欧美综合一区二区三区| 亚洲精品一区在线观看| 一区二区三区成人| 国产一区二区三区日韩| 在线观看91视频| 欧美韩日一区二区三区| 首页国产欧美久久| 91免费视频大全| 国产亚洲欧美在线| 日本不卡一二三区黄网| 91色porny在线视频| 久久久.com| 免费一级欧美片在线观看| 91视频91自| 国产亚洲一本大道中文在线| 午夜av一区二区三区| 色菇凉天天综合网| 久久尤物电影视频在线观看| 亚洲午夜免费电影| 99re热视频这里只精品| 久久久久久久网| 免费看欧美美女黄的网站| 国产99久久精品| 亚洲国产成人91porn| 欧美不卡一二三| 久久综合九色综合欧美亚洲| 亚洲一区二区三区四区的| 成人av免费在线观看| 欧美精品一区二| 美国十次综合导航| 欧美一区二区三区四区久久| 亚洲sss视频在线视频| 91福利国产精品| 一区二区三区欧美激情| 色综合一个色综合| 国产精品国产三级国产aⅴ无密码| 国产真实乱对白精彩久久| 欧美大片一区二区| 久久99国产精品久久99| 日韩一区二区三区在线观看| 免费看黄色91| 精品久久久久久久一区二区蜜臀| 日韩av二区在线播放| 欧美一区二区美女| 日本不卡一二三| 精品欧美一区二区在线观看| 麻豆精品一区二区三区| 精品国产乱码久久久久久图片 | 欧美国产一区二区| 国精产品一区一区三区mba视频 | 亚洲一区av在线| 91成人国产精品| 亚洲电影一区二区| 欧美三级电影精品| 五月婷婷色综合| 欧美一区二区三区日韩视频| 蜜桃精品视频在线| 久久久久久夜精品精品免费| 国产伦精品一区二区三区免费| 国产午夜亚洲精品羞羞网站| 99久久99久久精品国产片果冻| 欧美激情中文不卡| 91免费观看视频| 天天影视涩香欲综合网| 91精品国产综合久久国产大片| 久久精品999| 中文乱码免费一区二区| 色妞www精品视频| 日韩成人午夜精品| 久久久久国产精品麻豆ai换脸| gogogo免费视频观看亚洲一| 一区二区三区四区高清精品免费观看| 欧美视频精品在线| 九色|91porny| 成人免费在线视频观看| 这里只有精品99re| 国产91对白在线观看九色|