繁体   English   中英

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM