C# 配置系统未能初始化异常

C# 配置系统未能初始化异常,c#,.net,exception,dns,C#,.net,Exception,Dns,我有一小段代码,如下所示: private string ResolveAddress(string domain) { try { if (Regex.IsMatch(domain, @"\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}")) return domain; else return Dns.GetHostAddresses(

我有一小段代码,如下所示:

  private string ResolveAddress(string domain)
  {
     try
     {
        if (Regex.IsMatch(domain, @"\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}"))
           return domain;
        else
           return Dns.GetHostAddresses(domain)[0].ToString();
     }
     catch (Exception ex)
     {
        Error.Record("Exception caught in ResolveAddress", ex);
        return domain;
     }
  }
今天,我第一次有人抱怨他们无法连接到我的主机。我查看了他们的日志,发现以下异常:

# 6/20/2013 9:28:59 AM: Exception caught in ResolveAddress
Exception message: Configuration system failed to initialize
Exception stack trace:    at System.Configuration.ConfigurationManager.PrepareConfigSystem()
   at System.Configuration.ConfigurationManager.GetSection(String sectionName)
   at System.Configuration.PrivilegedConfigurationManager.GetSection(String sectionName)
   at System.Net.Configuration.SettingsSectionInternal.get_Section()
   at System.Net.Sockets.Socket.InitializeSockets()
   at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6)
   at System.Net.Dns.GetHostAddresses(String hostNameOrAddress)
   at NDTPresence.MainWindow.ResolveAddress(String domain)
显然,如果
Dns.GetHostAddresses
调用失败,它们将无法连接到我的服务。我的问题是为什么会发生这种情况?这个主机名的配置文件在用户的AppData/Roaming中出现,但他们(我相信)为每个人安装了它


谢谢。

从堆栈跟踪中很可能发现应用程序找不到配置文件,因此请验证您的信念:)->对于客户端应用程序,此方法检索通过合并应用程序配置文件、本地用户配置文件获得的配置文件,和漫游配置文件。@Vivek感谢您的回复,但不幸的是,情况并非如此。在地址解析之前,我有一个加载配置的方法,如果失败,将生成记录的异常。在这种情况下,该方法100%正确运行。另外,我没有显式地使用GetSection(我不知道InitializeSockets为什么调用它),我有一个自定义XML配置和一个自定义方法来使用它。