大佬教程收集整理的这篇文章主要介绍了一步步开发自己的博客 .NET版(11、Web.config文件的读取和修改),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
对于Web.config的读取大家都很属性了。平时我们用得比较多的就是appSetTings节点下配置。如:
title="一步步开发自己的博客 .NET版(11、Web.config文件的读取和修改)" alt="一步步开发自己的博客 .NET版(11、Web.config文件的读取和修改)" src="https://cn.js-code.com/res/2019/02-07/23/8961752ec750d8680e5272ecf024db9f.png" >
我们对应的代码是:
是的,很简单、很方便、很清晰。可以总感觉缺少那么一点“面向对象”的感觉。少还无所谓,如果几十个上百个呢?我们是不是可以考虑分类定义,如下:
可是,你会发现 tomcaton 编辑器不认,因为这是我自己定义的一个,那如何是好?如下:()
title="一步步开发自己的博客 .NET版(11、Web.config文件的读取和修改)" alt="一步步开发自己的博客 .NET版(11、Web.config文件的读取和修改)" src="https://cn.js-code.com/res/2019/02-07/23/5129083948f4d814e4886de014054d87.png" >
如此,是不是感觉分类更清楚了?可是问题又来了,那我们怎么读取自定义标签里面的值呢?
首先:()
</span><span style="color: #808080;">///</span> <span style="color: #808080;"><sumMary></span>
<span style="color: #808080;">///</span><span style="color: #008000;"> qq登录
</span><span style="color: #808080;">///</span> <span style="color: #808080;"></sumMary></span>
[ConfigurationProperty(<span style="color: #800000;">"</span><span style="color: #800000;">oAuthQQ</span><span style="color: #800000;">"</span>,Isrequired = <span style="color: #0000ff;">true</span><span style="color: #000000;">)]
</span><span style="color: #0000ff;">public</span><span style="color: #000000;"> OAuthQQElement OAuthQQ
{
</span><span style="color: #0000ff;">get</span> { <span style="color: #0000ff;">return</span> (OAuthQQElement)<span style="color: #0000ff;">this</span>[<span style="color: #800000;">"</span><span style="color: #800000;">oAuthQQ</span><span style="color: #800000;">"</span><span style="color: #000000;">]; }
}
</span><span style="color: #808080;">///</span> <span style="color: #808080;"><sumMary></span>
<span style="color: #808080;">///</span><span style="color: #008000;"> 新浪登录
</span><span style="color: #808080;">///</span> <span style="color: #808080;"></sumMary></span>
[ConfigurationProperty(<span style="color: #800000;">"</span><span style="color: #800000;">oAuthSina</span><span style="color: #800000;">"</span>,Isrequired = <span style="color: #0000ff;">true</span><span style="color: #000000;">)]
</span><span style="color: #0000ff;">public</span><span style="color: #000000;"> OAuthSinaElement OAuthSina
{
</span><span style="color: #0000ff;">get</span> { <span style="color: #0000ff;">return</span> (OAuthSinaElement)<span style="color: #0000ff;">this</span>[<span style="color: #800000;">"</span><span style="color: #800000;">oAuthSina</span><span style="color: #800000;">"</span><span style="color: #000000;">]; }
}
}</span> </pre>
然后MailElement、OAuthQQElement、OAuthSinaElement 分别具体定义:
</span><span style="color: #808080;">///</span> <span style="color: #808080;"><sumMary></span>
<span style="color: #808080;">///</span><span style="color: #008000;"> SMTP邮件服务器
</span><span style="color: #808080;">///</span> <span style="color: #808080;"></sumMary></span>
[ConfigurationProperty(<span style="color: #800000;">"</span><span style="color: #800000;">mailHost</span><span style="color: #800000;">"</span>,Isrequired = <span style="color: #0000ff;">true</span><span style="color: #000000;">)]
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">String</span><span style="color: #000000;"> Host
{
</span><span style="color: #0000ff;">get</span> { <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">this</span>[<span style="color: #800000;">"</span><span style="color: #800000;">mailHost</span><span style="color: #800000;">"</span><span style="color: #000000;">].ToString(); }
</span><span style="color: #0000ff;">set</span> { <span style="color: #0000ff;">this</span>[<span style="color: #800000;">"</span><span style="color: #800000;">mailHost</span><span style="color: #800000;">"</span>] =<span style="color: #000000;"> value; }
}
</span><span style="color: #808080;">///</span> <span style="color: #808080;"><sumMary></span>
<span style="color: #808080;">///</span><span style="color: #008000;">发件人邮箱
</span><span style="color: #808080;">///</span> <span style="color: #808080;"></sumMary></span>
[ConfigurationProperty(<span style="color: #800000;">"</span><span style="color: #800000;">mailFrom</span><span style="color: #800000;">"</span>,Isrequired = <span style="color: #0000ff;">true</span><span style="color: #000000;">)]
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">String</span><span style="color: #000000;"> From
{
</span><span style="color: #0000ff;">get</span> { <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">this</span>[<span style="color: #800000;">"</span><span style="color: #800000;">mailFrom</span><span style="color: #800000;">"</span><span style="color: #000000;">].ToString(); }
</span><span style="color: #0000ff;">set</span> { <span style="color: #0000ff;">this</span>[<span style="color: #800000;">"</span><span style="color: #800000;">mailFrom</span><span style="color: #800000;">"</span>] =<span style="color: #000000;"> value; }
}
}
</span><span style="color: #0000ff;">#endregion</span>
<span style="color: #0000ff;">#region</span> OAuthQQElement(QQ)
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> OAuthQQElement : ConfigurationElement
{
[ConfigurationProperty(</span><span style="color: #800000;">"</span><span style="color: #800000;">OAuth_QQ_ClientId</span><span style="color: #800000;">"</span>,Isrequired = <span style="color: #0000ff;">true</span><span style="color: #000000;">)]
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">String</span><span style="color: #000000;"> ClientId
{
</span><span style="color: #0000ff;">get</span> { <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">this</span>[<span style="color: #800000;">"</span><span style="color: #800000;">OAuth_QQ_ClientId</span><span style="color: #800000;">"</span><span style="color: #000000;">].ToString(); }
</span><span style="color: #0000ff;">set</span> { <span style="color: #0000ff;">this</span>[<span style="color: #800000;">"</span><span style="color: #800000;">OAuth_QQ_ClientId</span><span style="color: #800000;">"</span>] =<span style="color: #000000;"> value; }
}
[ConfigurationProperty(</span><span style="color: #800000;">"</span><span style="color: #800000;">OAuth_QQ_ClientScrert</span><span style="color: #800000;">"</span>,Isrequired = <span style="color: #0000ff;">true</span><span style="color: #000000;">)]
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">String</span><span style="color: #000000;"> ClientScrert
{
</span><span style="color: #0000ff;">get</span> { <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">this</span>[<span style="color: #800000;">"</span><span style="color: #800000;">OAuth_QQ_ClientScrert</span><span style="color: #800000;">"</span><span style="color: #000000;">].ToString(); }
</span><span style="color: #0000ff;">set</span> { <span style="color: #0000ff;">this</span>[<span style="color: #800000;">"</span><span style="color: #800000;">OAuth_QQ_ClientScrert</span><span style="color: #800000;">"</span>] =<span style="color: #000000;"> value; }
}
[ConfigurationProperty(</span><span style="color: #800000;">"</span><span style="color: #800000;">OAuth_QQ_CallBACkUrl</span><span style="color: #800000;">"</span>,Isrequired = <span style="color: #0000ff;">true</span><span style="color: #000000;">)]
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">String</span><span style="color: #000000;"> CallBACkUrl
{
</span><span style="color: #0000ff;">get</span> { <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">this</span>[<span style="color: #800000;">"</span><span style="color: #800000;">OAuth_QQ_CallBACkUrl</span><span style="color: #800000;">"</span><span style="color: #000000;">].ToString(); }
</span><span style="color: #0000ff;">set</span> { <span style="color: #0000ff;">this</span>[<span style="color: #800000;">"</span><span style="color: #800000;">OAuth_QQ_CallBACkUrl</span><span style="color: #800000;">"</span>] =<span style="color: #000000;"> value; }
}
}
</span><span style="color: #0000ff;">#endregion</span>
<span style="color: #0000ff;">#region</span> OAuthSinaElement(新浪)
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> OAuthSinaElement : ConfigurationElement
{
[ConfigurationProperty(</span><span style="color: #800000;">"</span><span style="color: #800000;">OAuth_Sina_ClientId</span><span style="color: #800000;">"</span>,Isrequired = <span style="color: #0000ff;">true</span><span style="color: #000000;">)]
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">String</span><span style="color: #000000;"> ClientId
{
</span><span style="color: #0000ff;">get</span> { <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">this</span>[<span style="color: #800000;">"</span><span style="color: #800000;">OAuth_Sina_ClientId</span><span style="color: #800000;">"</span><span style="color: #000000;">].ToString(); }
</span><span style="color: #0000ff;">set</span> { <span style="color: #0000ff;">this</span>[<span style="color: #800000;">"</span><span style="color: #800000;">OAuth_Sina_ClientId</span><span style="color: #800000;">"</span>] =<span style="color: #000000;"> value; }
}
[ConfigurationProperty(</span><span style="color: #800000;">"</span><span style="color: #800000;">OAuth_Sina_ClientScrert</span><span style="color: #800000;">"</span>,Isrequired = <span style="color: #0000ff;">true</span><span style="color: #000000;">)]
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">String</span><span style="color: #000000;"> ClientScrert
{
</span><span style="color: #0000ff;">get</span> { <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">this</span>[<span style="color: #800000;">"</span><span style="color: #800000;">OAuth_Sina_ClientScrert</span><span style="color: #800000;">"</span><span style="color: #000000;">].ToString(); }
</span><span style="color: #0000ff;">set</span> { <span style="color: #0000ff;">this</span>[<span style="color: #800000;">"</span><span style="color: #800000;">OAuth_Sina_ClientScrert</span><span style="color: #800000;">"</span>] =<span style="color: #000000;"> value; }
}
[ConfigurationProperty(</span><span style="color: #800000;">"</span><span style="color: #800000;">OAuth_Sina_CallBACkUrl</span><span style="color: #800000;">"</span>,Isrequired = <span style="color: #0000ff;">true</span><span style="color: #000000;">)]
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">String</span><span style="color: #000000;"> CallBACkUrl
{
</span><span style="color: #0000ff;">get</span> { <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">this</span>[<span style="color: #800000;">"</span><span style="color: #800000;">OAuth_Sina_CallBACkUrl</span><span style="color: #800000;">"</span><span style="color: #000000;">].ToString(); }
</span><span style="color: #0000ff;">set</span> { <span style="color: #0000ff;">this</span>[<span style="color: #800000;">"</span><span style="color: #800000;">OAuth_Sina_CallBACkUrl</span><span style="color: #800000;">"</span>] =<span style="color: #000000;"> value; }
}
}
</span><span style="color: #0000ff;">#endregion</span></pre>
到现在为止,我们在代码层面已经建立和config一一对应的关联了。下面我们来取值:
如此是不是甚爽,比原先的 Tings 更有“对象”的感觉了吧。且,当你配置过多的时候分类也更加清晰!
对于Web.config的写入需求一般很少,多数都只是读取。那为什么我这里要说写入呢?因为好多人问我“这个博客系统的数据库在哪里?”,每次都解释的'不亦乐乎',"这个是coder first根据代码生成数据库",后来次数多了实在受不了了。考虑着,是否可以做个引导页面,初次使用的时候提示设置数据库和邮箱什么的()。
title="一步步开发自己的博客 .NET版(11、Web.config文件的读取和修改)" alt="一步步开发自己的博客 .NET版(11、Web.config文件的读取和修改)" src="https://cn.js-code.com/res/2019/02-07/23/8a8d618ad0ee6e1b921b68b638bb72ec.gif" >
第一次启动程序的时候检查数据库连接,没有就进入引导页面,设置。()
好了,看了上面的效果图我们继续来看是怎么把数据写入到Web.config文件的吧。
其实很简单,稍微改下上面代码:
title="一步步开发自己的博客 .NET版(11、Web.config文件的读取和修改)" alt="一步步开发自己的博客 .NET版(11、Web.config文件的读取和修改)" src="https://cn.js-code.com/res/2019/02-07/23/6e122c363b0054e7771a9caf283e37e3.png" >
改成通过 .openWebConfiguration 来读取代码就可以编辑了。不过不要忘了 ); 才会真正更新到Web.config里面去。
到这里还只能修改我们自定义的节点数据。我们最最主要的是想更新数据库连接,请看下面对数据库连接的操作:
其实,细看和我们上面的代码大同小异。(StringsSection .net默认的连接对象)
以上是大佬教程为你收集整理的一步步开发自己的博客 .NET版(11、Web.config文件的读取和修改)全部内容,希望文章能够帮你解决一步步开发自己的博客 .NET版(11、Web.config文件的读取和修改)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。