在使用 Entity Framework 时,我将其拆分为自己的项目:

  • RivWorks.Model-包含实体模型
  • RivWorks.Controller-使用实体模型并包含biz规则
  • RivWorks.View.Web-网站
  • RivWorks.View.Services-WCF项目

  • 该网站上的所有内容都可以正常工作。我可以调用Controller并获取有效的Model。当我从Web.Service尝试相同的操作时,出现此错误:



    我对为什么为什么感到困惑,并仔细研究了错误日志,最终发现没有从网站的配置文件中读取连接字符串。因此,我添加了一些代码来捕获该代码,并且现在,对其中的值进行了硬编码。例如:
    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())
                {
    

    但是,可惜,它仍然给我上述错误!有什么想法吗?

    最佳答案

    我知道您一直在使用连接字符串来清理它们,但是我猜您没有在密码中加上"了吗?

    实际需要吗?

    10-05 23:10