的實例我有一個客戶端應用消耗WCF服務拋出Error未設置爲一個對象的一個實例DatabaseFactory.CreateConnection()拋出對象引用不設置爲一個對象
對象引用。
詳情:
我使用WCF服務與微軟的企業庫數據庫的連接,該服務運行良好的自我託管環境,但如果託管作爲windows service
拋出一個錯誤。我無法調試WCF服務,因爲它是作爲Windows服務託管的,所以我嘗試使用try catch塊來找出問題出在哪裏。
我碰到這兩條線,我認爲是最可疑的
Database db = DatabaseFactory.CreateDatabase();
DbConnection conn = db.CreateConnection();
我已經設置的配置文件我的默認數據庫。我認爲第二行必須是原因。
請幫忙。
試圖找到堆棧溢出類似的問題,但失敗了,因此張貼。
附加提問語句錯誤扣+堆棧跟蹤...
堆棧跟蹤
在Microsoft.Practices.EnterpriseLibrary.Data.DatabaseConfigurationView.get_DefaultName( )
at Microsoft.Practic es.EnterpriseLibrary.Data.DatabaseMapper.MapName(字符串名稱,IConfigurationSource configSource)
在Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.ConfigurationNameMappingStrategy.BuildUp(IBuilderContext上下文中,T型,對象現有,字符串ID)
在Microsoft.Practices.ObjectBuilder.BuilderBase`1.DoBuildUp(IReadWriteLocator定位器,類型typeToBuild,字符串idToBuild,對象現有,PolicyList [] transientPolicies)
在Microsoft.Practices.ObjectBuilder.BuilderBase`1.BuildUp( IReadWriteLocator locator,Type typeToBuild,String idToBuild,Object existing,PolicyList [] transientPolicies)
在Microsoft.Practices.ObjectBuilder.BuilderBase`1.BuildUp [TTypeToBuild](IReadWriteLocator定位器,字符串idToBuild,對象現有,PolicyList [] transientPolicies)
在Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder .EnterpriseLibraryFactory.BuildUp [T](IReadWriteLocator定位器,IConfigurationSource configurationSource)
在Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.EnterpriseLibraryFactory.BuildUp [T](IConfigurationSource configurationSource)
在Microsoft.Practices。恩terpriseLibrary。Common.Configuration.ObjectBuilder.NameTypeFactoryBase`1.CreateDefault()
在Microsoft.Practices.EnterpriseLibrary.Data.DatabaseFactory.CreateDatabase()
在d WCFService.Service1.ExecuteSFDS(Cmd的CmdObj,的Int32 executionType) :\ Projects \ WCFService \ WCFService \ Service1.cs:line 32
很難說確切的問題是什麼,但是您可以嘗試的兩件事是1:去掉代碼並將其放在控制檯應用程序中進行調試2:按照以下步驟調試Windows服務:http: //msdn.microsoft.com/en-us/library/7a50syb3(v=VS.100).aspx –
好的...我能夠調試,發現錯誤是在第一行,即在創建數據庫時。 – Bravo
您是否能夠在調試時從給出的異常中解決該問題?如果不是,你可以發佈異常(內部也是如此) –