0

我正在尝试将 nopCommerce 集成到第三方系统中,但是当我尝试访问任何 nopCommerce 页面时遇到了问题。因为我正在与第三方系统集成,所以我不得不合并 web.configs 并复制所有文件。我也有独立安装的 nopCommerce 并且运行良好。

任何帮助将不胜感激。

我得到的错误如下:


ConnectionString 属性尚未初始化。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.InvalidOperationException:ConnectionString 属性尚未初始化。

源错误:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

[InvalidOperationException:ConnectionString 属性尚未初始化。] System.Data.SqlClient.SqlConnection.PermissionDemand() +5038498 System.Data.SqlClient.SqlConnectionFactory.PermissionDemand(DbConnection outerConnection) +20 System.Data.ProviderBase.DbConnectionClosed.OpenConnection( DbConnection outerConnection, DbConnectionFactory connectionFactory) +126 System.Data.SqlClient.SqlConnection.Open() +125 System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String mappedOperation, Boolean& closeStoreConnectionOnFailure) + 52

[EntityException:底层提供程序在打开时失败。] System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String mappedOperation, Boolean& closeStoreConnectionOnFailure) +161 System.Data.EntityClient.EntityConnection.Open () +98 System.Data.Objects.ObjectContext.EnsureConnection() +81 System.Data.Objects.ObjectQuery 1.GetResults(Nullable1 forMergeOption) +46 System.Data.Objects.ObjectQuery 1.System.Collections.Generic.IEnumerable<T>.GetEnumerator() +44 System.Linq.Enumerable.ToDictionary(IEnumerable1 源,Func 2 keySelector, Func2 elementSelector,IEqualityComparer1 comparer) +151 System.Linq.Enumerable.ToDictionary(IEnumerable1 个源,Func`2 keySelector) +90 NopSolutions.NopCommerce.BusinessLogic.Configuration.Settings.SettingManager.GetAllSettings() +542 NopSolutions.NopCommerce.BusinessLogic.Configuration.Settings.SettingManager.GetSettingByName(String name) +121 NopSolutions.NopCommerce。 BusinessLogic.Configuration.Settings.SettingManager.GetSettingValue(字符串名称)+49 NopSolutions.NopCommerce.BusinessLogic.Configuration.Settings.SettingManager.GetSettingValueBoolean(字符串名称,布尔默认值)+54 NopSolutions.NopCommerce.BusinessLogic.Configuration.Settings.SettingManager.GetSettingValueBoolean (字符串名称)+41 NopSolutions.NopCommerce.BusinessLogic.CustomerManagement.CustomerManager.get_UsernamesEnabled() +45 NopSolutions.NopCommerce.Web.Administration.LoginPage.ApplyLocalization() +108 NopSolutions.NopCommerce.Web.Administration。LoginPage.Page_Load(对象发送者,EventArgs e)+40 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,对象 o,对象 t,EventArgs e)+14 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(对象发送者,EventArgs e) +35 System.Web.UI.Control.OnLoad(EventArgs e) +91 NopSolutions.NopCommerce.Web.BaseNopAdministrationPage.OnLoad(EventArgs e) +44 System.Web.UI.Control.LoadRecursive() +74 System.Web .UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)+2207NopCommerce.Web.BaseNopAdministrationPage.OnLoad(EventArgs e) +44 System.Web.UI.Control.LoadRecursive() +74 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207NopCommerce.Web.BaseNopAdministrationPage.OnLoad(EventArgs e) +44 System.Web.UI.Control.LoadRecursive() +74 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207


4

3 回答 3

1

您需要有一个有效的连接字符串。

在您通过数据库安装阶段后(当您填写数据库设置时) nop commerce 将数据库信息保存在一个不在项目中的文件中,您可以App_Data folderPresentation\Nop.Web\App_Data\named中找到它Settings.txt,如果需要更新它并运行再次申请。

于 2013-02-19T00:00:42.800 回答
1

您需要在 web.config 中为 NopCommerce 数据库提供一个有效的连接字符串,并且您需要确保它被读取。

Application_Startglobal.asax NopCommerce 中读取连接字符串并将其注入业务逻辑 DLL。如果这没有发生,数据访问层(在业务逻辑 DLL 中)将无法打开连接,您将收到刚刚发布的错误。我建议检查 web.config 和 global.asax;如果两者看起来都不错,则在Application_Start.

于 2010-09-24T17:27:06.237 回答
0

连接字符串不在 nopcommerce 的 web.config 文件中……它在 ConnectionStrings.config 文件中。如果文件不存在,您可能需要检查该文件并复制它,或者如果文件存在而字符串不存在,则将连接字符串放在那里。

于 2011-09-19T12:24:33.407 回答