![](/img/trans.png)
[英]Loading System.ServiceModel configuration section using ConfigurationManager
[英]ConfigurationManager - Configuration Section error
我想要一个配置部分,如下所示:
<MailMessage>
<from value="me@you.com" />
<subject value ="Subject goes here" />
<body value="Hello. You've got mail!" />
</MailMessage>
我已经实现了该链接的第二个答案中所示的类: 如何使用ConfigurationElementCollection实现ConfigurationSection
现在对我来说,MailMessage部分的元素不是集合,但这应该不是问题,但是当我尝试访问该属性时收到错误消息:
Unrecognized element 'from'
我得到的部分代码:
private static MailMessageSection emailSection = ConfigurationManager.GetSection("MailMessage") as MailMessageSection;
这是元素的实现:
public class MailMessageSection : ConfigurationSection
{
[ConfigurationProperty("from")]
public FromElement From
{
get { return base["from"] as FromElement; }
}
[ConfigurationProperty("subject")]
public SubjectElement Subject
{
get { return base["subject"] as SubjectElement; }
}
[ConfigurationProperty("body")]
public BodyElement Body
{
get { return base["body"] as BodyElement; }
}
}
public class FromElement : ConfigurationElement
{
[ConfigurationProperty("value")]
public string From
{
get { return base["value"] as string; }
}
}
public class SubjectElement : ConfigurationElement
{
[ConfigurationProperty("value")]
public string Subject
{
get { return base["value"] as string; }
}
}
public class BodyElement : ConfigurationElement
{
[ConfigurationProperty("value")]
public string Body
{
get { return base["value"] as string; }
}
}
任何想法可能有什么问题吗? 谢谢你的时间!
寻找错误是可序列化的类可能令人沮丧。 我建议您在VisualStudio中使用自动生成功能。 这是您的操作方法(非常简单):
1.复制XML示例(到剪贴板)
2.为XML创建新的类(在您的情况下为“ MailMessageSection”)
3.在VS中,转到“ Edit
>“ Paste Special
>“将Paste XML As Classes
我知道这并不是from不能正常工作的原因,但是使用自动生成的代码是更好的做法,然后自己编写。
希望能帮助到你...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.