2014-05-04 44 views
0

幾個星期以來,我一直在試圖解決從無處出現的問題。問題是,每當我嘗試創建WebRequest時,它都會以NotInitialized異常失敗。 這不僅僅是新的代碼,而且舊的應用程序以前運行良好,現在正在崩潰。我嘗試卸載.NET 2.0 SDK(我認爲可能是原因),但沒有結果。.NET 2.0和3.0 WebRequest不能正常工作

即使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 
+0

幸運的是,在.NET中,「未知異常」不存在(除了互操作異常,當它們被錯誤處理時可能未知)。在這裏粘貼確切的例外名稱,消息和堆棧跟蹤。否則,我們將無法幫助您。 –

+0

幾乎所有的'NullReferenceException'都是一樣的。請參閱「[什麼是.NET一個NullReferenceException?](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-in-net)」獲得一些提示。 –

+0

謝謝,但正如我寫的 - 這不僅僅是新的代碼,而且舊的應用程序以前運行良好,現在正在崩潰。 這個錯誤也不會直接出現在我的代碼中,而是在System.Net.WebClient類中,我根本沒有修改它,並且用於非常好地工作。 – Eldan

回答

0

檢查「webRequestModules」在machine.config中部分登記,並且如果添加它不存在。

<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>