底层提供程序在ConnectionString上失败

在使用实体框架时,我已将它分解到它自己的项目中:

  • RivWorks.Model - 包含实体模型
  • RivWorks.Controller - 使用实体模型并包含商业规则
  • RivWorks.View.Web - 网站
  • RivWorks.View.Services - WCF项目
  • 网站中的所有内容都正常工作。 我可以调用Controller并获取有效的Model。 当我从Web.Service尝试相同的事情时,我收到此错误:

    错误:
    底层提供程序在ConnectionString上失败。
    堆栈跟踪:
    在System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString)
    在System.Data.EntityClient.EntityConnection..ctor(String connectionString)
    在System.Data.Objects.ObjectContext.CreateEntityConnection(String connectionString)
    在System.Data.Objects.ObjectContext..ctor(String connectionString,String defaultContainerName)
    在RivWorks.Model.Entities.RivFeedsEntities1..ctor(String connectionString)
    在RivWorks.Model.FeedStoreReadOnly..ctor(String connectionString)
    在RivWorks.Controller.ProductManager.LookupProduct(字符串productID,字符串sku,字符串urlRef,字符串env,字符串logPath)

    我有点困惑,为什么和挖掘错误日志,我终于明白连接字符串没有从网站的配置文件中读取。 所以,我添加了一些代码来捕捉它,并且现在,硬编码了这些值。例如:

    public dataObjects.NegotiateSetup LookupProduct(string productID, string sku, string urlRef, string env, string logPath)
    {
        string feedConnString = "";
        string rivConnString = "";
    
        log.InitializeLogFile(logPath);
        dataObjects.NegotiateSetup resultSet = new dataObjects.NegotiateSetup();
    
        try { feedConnString = AppSettings.FeedAutosEntities_connString; }
        catch { feedConnString = @"metadata=res://*/Entities.FeedEntities.csdl|res://*/Entities.FeedEntities.ssdl|res://*/Entities.FeedEntities.msl;provider=System.Data.SqlClient;provider connection string='Data Source=***.***.***.***;Initial Catalog=******;Persist Security Info=True;User ID=******;Password="******";MultipleActiveResultSets=True'"; }
    
        try { rivConnString = AppSettings.RivWorkEntities_connString; }
        catch { rivConnString = @"metadata=res://*/Entities.RivEntities.csdl|res://*/Entities.RivEntities.ssdl|res://*/Entities.RivEntities.msl;provider=System.Data.SqlClient;provider connection string='Data Source=******;Initial Catalog=******_Dev;Persist Security Info=True;User ID=******;Password="******";MultipleActiveResultSets=True'"; }
    
        try
        {
            using (RivFeedsEntities1 _dbFeed = new FeedStoreReadOnly(feedConnString).ReadOnlyEntities())
            {
                using (RivEntities _dbRiv = new RivWorksStore(rivConnString).NegotiationEntities())
                {
    

    但是,唉,它仍然给我上面的错误! 任何想法为什么?


    我知道你一直在用你的连接字符串来清理它们,但我猜你没有把" 在密码里面?

    他们真的需要吗?

    链接地址: http://www.djcxy.com/p/44355.html

    上一篇: The underlying provider failed on ConnectionString

    下一篇: Setting up nginx to redirect mobile users