1

1(のweb.configファイル内の)私は<configSection>songPoemという名前のカスタムセクションを宣言した場合)、エラーがsongPoem要素が認識されていないと言って報告されます。うまく、次の作品の中.Netはweb.configを上から下に読み込んでいますか?

<songPoem song=”lalala” /> 

<configSection> 
    <section name=”songPoem” type=”A” /> 
</configSection> 

:したがって、以下は私にエラー与え

<configSection> 
    <section name=”songPoem” type=”A” /> 
</configSection> 

<songPoem song=”lalala” /> 

A)私は、エラーが上から下へweb.configを読んだネットが原因であると仮定し!もしそうなら、要素の宣言の順序は、カスタムセクションの要素にのみ当てはまるか、または...?ところで

- ここでは、クラスAの定義です:

public class A: ConfigurationSection 
{ 
    [ConfigurationProperty(“song”)] 
    public string Song{ ... } 
} 

2)私は属性が<songPoem>要素内に許されることを前提としていますので、私はネットのことができるようになること期待カスタムセクション要素に既存の属性が含まれていないかどうかを確認します。

<songPoem song=”lalala” movie=”this_should_be_here” /> 

任意のアイデアは、なぜネットsongPoemが含まれていることに気づかなかった。しかし、いくつかの理由のために私は、彼らがクラスの任意のプロパティにマッピングしていないにも関わらず、また、他の属性を含めることができました無効な属性ですか?

答えて

0

よく、xmlreaderを使ってデータを読んでいますので、トップダウンを読んで、順番に見つかった要素を処理すると思います。

私はこのような問題をサポートするためにダブルパスを行うと思われますが。私はそれがないと思う。

また、私はいつもトップにconfigセクションを宣言するという標準的な方法を見てきました。おそらくこれが理由です。

技術的にも順序は問題です。逆シリアル化の場合と同様に、リスト内のオブジェクトは、定義された順序と同じ順序で逆シリアル化されることが予想されます。

+0

これは合計BS – Janie

+0

です。あなたはそれをなぜ言っていますか? –

2

私は自分の混乱を解消するために、しばらくしてカスタム構成セクションについてかなりのブログ記事を投稿しました。

http://www.endswithsaurus.com/2008/11/custom-configuration-section.html

+0

私はあなたのリンクを確認しましたが、宣言の順序が重要な要素を説明するものは見つかりませんでした。 Netがなぜ既存の属性に気付かないのかについての説明も見つけられませんでした – SourceC

1

をそのように私はいつもセットアップ私のweb.configました:

<configuration> 
    <configSections> 
     <sectionGroup name="myConfigGroup"> 
      .... 
     </sectionGroup> 
    </configSections> 
    <myConfigGroup> 
     .... 
    </myConfigGroup> 
</configuration> 

はどんな問題を抱えていないことは、あなたがそれを整理得るのを助けるためにあなたにいくつかのポインタを与える必要があります。私はあなたと同じ間違いを犯して、その問題が何であるかを理解できなかったとき、それは本当に馬鹿げたものでした。

関連する問題