变态重口极致另类在线-波多久久夜色精品国产-波多野结衣在线观看一区-波多野结衣在线观看一区二区-污污的网站免费阅读-污污视频网址

當前位置:首頁文章首頁 IT學院 IT技術

web.config中存儲自定義對象的正確方法

作者:  來源:  發布時間:2011-5-10 18:51:09  點擊:

如何在web.config中存儲自定義對象

在本文中將要討論web.config.在我平日里,都習慣把一些數據放在web.config的appSettings節里,當需要時再讀取。

那都是string字符串的形式。當然了不止這些,我們也可以通過編程方式修改這些數據。

現在重要的一點需要說的是,我們也可以在web.config里存放自定義的類型,雖然通常情況不這么做。但是在很多情形

下,這樣做很有用。

大家是否嘗試過修改或者添加過web.config里的一些數值。我們先簡單的討論下這個:

首先,這些都是平常常見到的,把一些常量數據放在web.config的appSettings節,根據需要讀取。那么怎么讀呢(對初學者):

//數據存放在web.config中形如: // 讀取 string message = ConfigurationManager.AppSettings["WelcomeMessage"];

現在,要是想要通過程序修改appSettings,我們可以這樣做:

//修改 Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath); config.AppSettings.Settings["WelcomeMessage"].Value = "Hello All, Welcome to my updated site."; config.Save();

接著,如果想要在web.config里增加數據怎么做呢,如下:

//增加 Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath); config.AppSettings.Settings.Add("ErrorMessage", "An error has been occured during processing this request."); config.Save();

上面的代碼是在web.config里新增新的鍵值對。現在我們可以在應用程序的任何地方讀取它了。

現在,擺在面前的問題是,我們是否可以在配置里存儲自定義的數據。

當然可以...

我們可以存儲對象。讓我們一起來看看怎么做。

我創建了一個樣例程序。在這個例子中,我在web.config文件里保存了一個自定義的NewError類的一個對象實例。同時

當需要時對其進行修改。

請按照下面的步驟開始實現它:-)

a)創建一個繼承自ConfigurationSection(該類在System.Configuration空間可以找到)的類。每個屬性(Porperty)必

須有一個屬性(attribute)ConfigurationProperty(帶有屬性名和一些參數,這個名字會直接映射到web.config),讓我

們看下NewError類:

public class NewError:ConfigurationSection { //譯注:每一個屬性(Porperty:get,set的那玩意;-))都對應有個屬性Attribute【[ConfigurationProperty 】 [ConfigurationProperty ("Id",IsRequired = true)] public string ErrorId { get { return (string)this["Id"]; } set { this["Id"] = value; } } [ConfigurationProperty("Message", IsRequired = false)] public string Message { get { return (string)this["Message"]; } set { this["Message"] = value; } } [ConfigurationProperty("RedirectURL", IsRequired = false)] public string RedirectionPage { get { return (string)this["RedirectURL"]; } set { this["RedirectURL"] = value; } } [ConfigurationProperty("MailId", IsRequired = false)] public string EmailId { get { return (string)this["MailId"]; } set { this["MailId"] = value; } } [ConfigurationProperty("DateAdded", IsRequired = false)] public DateTime DateAdded { get { return (DateTime)this["DateAdded"]; } set { this["DateAdded"] = value; } } }

和你看到的一樣,每個屬性有屬性Configuration及一些值,比如屬性ErrorId:

[ConfigurationProperty ("Id",IsRequired = true)]

意思是ErrorId在web.config里存為Id而且不可以缺少的必要字段。還有一些可選元素根據需要使用。

我們在深入看看這個屬性,它有些不同:

public string ErrorId { get { return (string)this["Id"]; } set { this["Id"] = value; } }

在這里value值存為鍵"id",和web.config里對應。

b.)現在需要要做的就是在section組注冊、添加一個section告訴web.config你需要這種類型數據。

必須放在里如下:

 

c.)現在可以直接在配置文件里添加這樣的對象了:

 

d.)然后在你的頁面這樣讀取:

NewError objNewError = (NewError)ConfigurationManager.GetSection("errorList");

也可以通過程序方式保存一個新對象:

NewError objNewError = new NewError() { RedirectionPage="www.rediff.com", Message = "New Message", ErrorId="0", DateAdded= DateTime.Now.Date }; Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath); config.Sections.Add("errorList", objNewError); config.Save();

甚至可以添加一個自定義的組,然后在此section區放置一些自定義元素。

Asp.net提供給我們非常強大的編程接口API,我們可以很輕松的讀取/編輯web.config文件。

最后希望您心情愉悅的瀏覽此文,也非常感激您的回饋信息。

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
主站蜘蛛池模板: 欧美高清一区二区三区欧美 | 欧美乱子伦xxxx96 | 中文国产成人精品久久一区 | 九一香蕉视频污 | 日本黄色片在线 | 最近免费中文字幕大全高清片 | 午夜影院网站 | 黄网站视频观看免费 | 最色网址| 99精品视频在线成人精彩视频 | 免费特黄一级欧美大片在线看 | 亚洲一区二区三区在线观看蜜桃 | 男女在线无遮挡毛片免费 | 99爱视频99爱在线观看免费 | 成人毛片免费看 | 无遮挡黄动漫在线观看播放 | 偷亚洲偷国产欧美高清 | 国产精品一区视频 | 26uuu精品一区二区 | 小明永久免费大陆在线观看 | 噜噜噜天天躁狠狠躁夜夜精品 | 天天摸天天干 | 六月丁香啪啪六月激情 | 一个人看的免费在线视频 | 成人合成mv福利视频网站 | 日本欧美中文字幕 | 国产日韩欧美精品 | 亚欧成人一区二区 | 久久久视| 日韩一区二区三区四区不卡 | 日韩色综合 | 免费在线视频成人 | 久久777国产线看是看精品 | 日韩亚洲一区二区三区 | 欧美成人综合视频 | 亚洲羞羞视频 | 日韩中文字幕精品免费一区 | 欧美极度另类videos高清 | 99精品热女视频专线 | 99热自拍 | 国产2021精品视频免费播放 |