C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: [VB]構成ファイル解析時に発生する例外を押さえ込む方法


(過去ログ 48 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■25955 / inTopicNo.1)  [VB]構成ファイル解析時に発生する例外を押さえ込む方法
  
□投稿者/ moz (1回)-(2008/09/29(Mon) 07:14:14)

分類:[VB.NET/VB2005 以降] 

VB.net 2005で構成ファイルを読み込もうとしています。
通常はConfigurationManager.OpenExeConfigurationとGetSectionで問題なく読み込むことができています。
ところが、プログラム側を変更して、構成ファイルに余分なキーが存在する形になったときに次の例外が発生してしまいます。

認識されない属性 'xxxxxxx' です。この属性は、大文字小文字を区別します。

このような場合に例外を発生させず、単に無視、あるいは切り捨てするようにしたいのですが、それがわからず途方に暮れています。
msdnでIgnoreSectionHandlerの記述を見つけて何とかできるかもと思ったのですが、うまくいきませんでした。

引用返信 編集キー/
■25959 / inTopicNo.2)  Re[1]: [VB]構成ファイル解析時に発生する例外を押さえ込む方法
□投稿者/ なちゃ (174回)-(2008/09/29(Mon) 09:16:52)
自作の構成セクションでしょうか?
確かメソッドのオーバーライドで動作をカスタマイズできた気がします。
引用返信 編集キー/
■25984 / inTopicNo.3)  Re[2]: [VB]構成ファイル解析時に発生する例外を押さえ込む方法
□投稿者/ moz (2回)-(2008/09/29(Mon) 17:19:38)
No25959 (なちゃ さん) に返信
> 自作の構成セクションでしょうか?
> 確かメソッドのオーバーライドで動作をカスタマイズできた気がします。

レスありがとうございます。
自作の構成セクション、ということになると思います。
msdnを読んでいるのですが、どうもそのあたりに関する資料がなかなか見つからず・・・
IgnoreSection、あるいはIgnoreSectionHandlerぐらいしか見つけることができていません。

一応IgnoreSectionHandlerを使うようなコードを書いてみたのですが、どうにもうまく動きませんでした。
まだ学習を初めて日が浅いので、文法がわかっていないこともあると思いますが。

        Dim handler As New IgnoreSectionHandler
        Dim doc As New System.Xml.XmlDocument

        ' ハンドラ作成処理
        handler.Create("/", Nothing, doc("configuration")("appSettings"))  

        ' Config読み込み処理
        _config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
        _section = CType(_config.GetSection("UserSetting"), ListSection)

このコードを組み込むことによって、エラーは「オブジェクト参照がオブジェクト インスタンスに設定されていません。」に変わりました。
ここからもコードを修正しつついろいろ試しているのですが、現在のところうまくいっていません。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -