0

最近、App.confgファイルに構成セクションを追加しました。セクションが無効であることに気付きましたが、この行に到達するまで、アプリケーションは実際に実行されました。

this.udpClient = new UdpClient();

その時点で、次の例外が発生しました。

System.Configuration.ConfigurationErrorsException

メッセージ付き:

"Configuration system failed to initialize"

および内部例外メッセージ(同じタイプの例外):

"Unrecognized configuration section AppDefaults. (<filename goes here>)"

UdpClientをインスタンス化すると、アプリの構成にアクセスするのはなぜですか。また、メソッドが示すように、ソケット例外(内部構成例外を含む)ではなく、構成例外をスローするのはなぜですか?

4

1 に答える 1

2

UdpClientオブジェクトの作成時に構成にアクセスしようとした理由は、UdpClientクラスとTcpClientクラスがSocketクラスのラッパーにすぎないためです。Socketクラスには、ソケット設定を保存して構成ファイルから読み取ることができる構成セクションがあります。構成ファイルに問題があり、それが無効であったため、構成ファイルでそのセクションを検索しようとしたときに構成例外が発生しました。問題は、基礎となるソケットを作成する前に構成ファイルを読み取ることにあったため、これは理にかなっています。

ソケット構成セクションのMSDN情報へのリンク

于 2011-10-19T17:36:56.160 に答える