c# 操作web.config文件

wzp646011267 2013-01-08 11:30:07
目前有个需求就是操作config文件,例如我要往config的wcf节点system.serviceModel——services节点下添加
     <!--需要添加的配置节点--><service name="WcfSeviceDuplex" behaviorConfiguration="WcfServerBehavior">
<endpoint binding="netTcpBinding"
contract="IContract.IContractDuplex"
bindingConfiguration="ServerBinding"
address=""/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>

原来我了解的是将config当作xml进行处理,然后一个节点一个属性的增加进去,不知是否有可以一次把整个节点(字符串类型)增加进去?
...全文
363 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzp646011267 2013-01-09
  • 打赏
  • 举报
回复
是的,config需求会导致站点重启。我了解的是iis有这样一个机制,只有在该站点最后一个请求消亡后重启才会生效,所以不影响我的需求。 wcf的配置文件(system.serviceModel)如果放入xml中,无法满足程序的加载: 总的需求是我想在不手动重启程序的前提下,动态创建wcf
叫我三三 2013-01-09
  • 打赏
  • 举报
回复
config 一旦被修改 会导致整个站点重启哦。 你确认这样不影响你的应用吗?
熙风 2013-01-09
  • 打赏
  • 举报
回复
楼主,像这样的操作还是用xml比较合适,,方便,在config中还不好操作。。。 http://blog.csdn.net/happy09li/article/details/7460521
wzp646011267 2013-01-09
  • 打赏
  • 举报
回复
wcf的配置文件应该是默认加在web.config,我这边的需求是动态加入进去,目前我的方法是一个个节点属性的添加进去的?求其他方便 快捷 安全的方式
joychp 2013-01-08
  • 打赏
  • 举报
回复
Acanzyh 2013-01-08
  • 打赏
  • 举报
回复
了解一下ConfigurationManager,当作xml来处理是有弊端的。
strife013 2013-01-08
  • 打赏
  • 举报
回复
config文件最好不要修改,只是读取,可以把需要修改的内容放到另外的xml中去
wzp646011267 2013-01-08
  • 打赏
  • 举报
回复
不会copy?只知道一个个添加属性 内容?
蜗牛的长征 2013-01-08
  • 打赏
  • 举报
回复
可以当xml操作,XmlDocument xdoc = new XmlDocument(); xdoc.LoadXml(xmlText) 把加载上的节点copy到需要的位置后调save()即可
wzp646011267 2013-01-08
  • 打赏
  • 举报
回复
引用 5 楼 xboxeer 的回复:
引用 4 楼 ViewStates 的回复:var config=ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); var abc=config.GetSectionGroup("system.serviceModel") as ServiceModelSectionGroup……
不太明白?
   var cs = @"<service name=""WcfSeviceDuplex"" behaviorConfiguration=""WcfServerBehavior"">
        <endpoint binding=""netTcpBinding""
                  contract=""IContract.IContractDuplex""
                  bindingConfiguration=""ServerBinding""
                  address=""""/>
        <endpoint address=""mex"" binding=""mexHttpBinding"" contract=""IMetadataExchange"" />
      </service>";
        var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
        var abc = config.GetSectionGroup("system.serviceModel") as ServiceModelSectionGroup;
        abc.Sections.Add("WcfSeviceDuplex", cs);
        config.Save();
难道就能实现吗?我想将整个字符串添加到system.serviceModel中?
xboxeer 2013-01-08
  • 打赏
  • 举报
回复
引用 4 楼 ViewStates 的回复:
var config=ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); var abc=config.GetSectionGroup("system.serviceModel") as ServiceModelSectionGroup; abc.Sections.Add(..……
记得添加system.configuration的程序集引用
ViewStates 2013-01-08
  • 打赏
  • 举报
回复
var config=ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); var abc=config.GetSectionGroup("system.serviceModel") as ServiceModelSectionGroup; abc.Sections.Add(...) config.Save(..)
Kim_Du 2013-01-08
  • 打赏
  • 举报
回复
可以再百度一下ConfigurationManager
wzp646011267 2013-01-08
  • 打赏
  • 举报
回复
有人帮忙解答下吗?

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧