我相对于C#编程(实际上是整个编程)比较新,但我已经建立了一个应用程序来管理我们工作团队使用的服务器上的应用程序池。它很好地完成了所有它应该做的事情,但唯一遇到的问题是将先前使用的配置保存到app.config文件中,以便用户不必每次手动输入它们。目前,我可以很好地保存和加载文件(以及每个组中需要的所有字符串)。
问题在于,在写入之前,我想进行一个简要检查,以查看组中是否存在Name字符串。以下是app.config部分的示例:
问题在于,在写入之前,我想进行一个简要检查,以查看组中是否存在Name字符串。以下是app.config部分的示例:
<appSettings>
<add Name="RowName" MachineName="MS-02348" AppSrvName="AppServer" WebSrvName="AppNet"/>
<add Name="RowName2" MachineName="MS-68186" AppSrvName="AppServer2" WebSrvName="AppNet2"/>
</appSettings>
目前我正在做的是编写一个方法来获取 appSettings/add 节点并将它们放入一个列表中,然后将这些值设置为对象的属性。我这样做的原因是可以在下拉菜单中仅列出对象的名称,并且当我调用所选项目上的方法时,其余信息都是可用的。
无论如何,我现在遇到的问题是,如果在 app.config 中已经存在该名称,则要确保提示用户编写另一个名称而不是将其保存到数据库中。具有相同“名称”值的两个子节点会对我的逻辑造成严重影响。
我尝试使用 foreach 循环遍历列表中的对象,但由于不知道可能存在多少对象,我不知道是否存在一种简单的方式来判断它是否存在。我还尝试根据节点中列出的值来定位 childnode,但似乎也失败了。我猜这部分是语法问题,但它似乎与方法列表定义的方式相匹配。
您有什么想法吗?
MachineName
属性缺少了闭合引号;而且你应该包含实际处理列表的 C# 代码,并详细说明你遇到的具体问题。 - admdrew