【问题标题】:Why does UdpClient instantiation cause a ConfigurationException?为什么 UdpClient 实例化会导致 ConfigurationException?
【发布时间】:2011-12-11 03:00:48
【问题描述】:

我最近在我的 App.confg 文件中添加了一个配置部分。尽管我意识到该部分无效,但我的应用程序实际上运行了,直到它到达这一行:

this.udpClient = new UdpClient();

此时它给出了以下异常:

System.Configuration.ConfigurationErrorsException

带有消息:

"Configuration system failed to initialize"

和内部异常消息(相同类型的异常):

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

为什么实例化 UdpClient 会访问您的应用配置,为什么它会抛出配置异常,而不是 Socket 异常(带有内部配置异常),就像方法所声明的那样?

【问题讨论】:

    标签: .net exception configuration config udpclient


    【解决方案1】:

    它在创建 UdpClient 对象时尝试访问配置的原因是因为 UdpClient 和 TcpClient 类只是 Socket 类的包装器。 Socket 类有一个配置部分,可以在其中存储套接字设置并从配置文件中读取。由于配置文件存在问题并且它无效,因此您在尝试在配置文件中查找该部分时收到了配置异常。这是有道理的,因为问题在于在创建底层 Socket 之前读取配置文件。

    Link to MSDN info on Sockets Configuration Section

    【讨论】:

      最近更新 更多