的实例我有一个客户端应用消耗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
您是否能够在调试时从给出的异常中解决该问题?如果不是,你可以发布异常(内部也是如此) –