【问题标题】:.NET 2.0 and 3.0 WebRequest Not Working.NET 2.0 和 3.0 WebRequest 不工作
【发布时间】:2014-06-20 17:30:13
【问题描述】:

几周以来,我一直在尝试解决一个不知从何而来的问题。问题是,每当我尝试创建 WebRequest 时,它都会因 NotInitialized 异常而失败。 不仅是新代码,过去运行良好的旧应用程序现在都崩溃了。我尝试卸载 .NET 2.0 SDK(我认为这可能是原因),但没有结果。

即使是 WebClient 也无法下载任何东西,只会抛出未知异常。 这出现在 .NET 2.0 和 3.0 中,.NET 4.0 和 4.5 似乎工作正常。

有人知道为什么会这样吗?

编辑:它有两个可能的例外。一个是ConfigurationErrorsException(配置系统初始化失败),当我删除app.config时它就消失了,反正我不需要。

第二个是NullReferenceException(对象引用未设置为对象的实例。)

堆栈跟踪:

 at System.Net.WebRequest.get_PrefixList()
   at System.Net.WebRequest.Create(Uri requestUri, Boolean useUriBase)
   at System.Net.WebRequest.Create(String requestUriString)
   at EAC.Form1.Request(String url, String postData, Boolean useAlpha, Boolean useBeta) in D:\Projects\someproject\someproject\Form1.cs:line 34

【问题讨论】:

  • 幸运的是,在 .NET 中不存在“未知异常”(互操作异常除外,当它们被错误处理时,它们可能是未知的)。在此处粘贴确切的异常名称、消息和堆栈跟踪。否则,我们将无法为您提供帮助。
  • NullReferenceException 的几乎所有情况都是相同的。请参阅“What is a NullReferenceException in .NET?”获取一些提示。
  • 谢谢,但正如我所写的那样——不仅是新代码,以前运行良好的旧应用程序现在也崩溃了。这个错误也没有直接出现在我的代码中,而是出现在我根本没有修改过的 System.Net.WebClient 类中,并且过去工作得很好。

标签: c# .net .net-2.0 nullreferenceexception .net-3.0


【解决方案1】:

检查machine.config中的“webRequestModules”部分注册,如果不存在则添加。

<sectionGroup name="system.net" type="System.Net.Configuration.NetSectionGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
        <section name="authenticationModules" type="System.Net.Configuration.AuthenticationModulesSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="connectionManagement" type="System.Net.Configuration.ConnectionManagementSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="defaultProxy" type="System.Net.Configuration.DefaultProxySection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <sectionGroup name="mailSettings" type="System.Net.Configuration.MailSettingsSectionGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
            <section name="smtp" type="System.Net.Configuration.SmtpSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        </sectionGroup>
        <section name="requestCaching" type="System.Net.Configuration.RequestCachingSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="settings" type="System.Net.Configuration.SettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="webRequestModules" type="System.Net.Configuration.WebRequestModulesSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</sectionGroup>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    • 2020-10-15
    • 2020-11-09
    相关资源
    最近更新 更多