Как исправить "Свойство ConnectionString не было инициализировано" в nopCommerce
Я пытаюсь интегрировать nopCommerce в стороннюю систему, но сталкиваюсь с проблемой, когда пытаюсь получить доступ к любым страницам nopCommerce. Поскольку я интегрируюсь со сторонней системой, мне пришлось объединить web.configs и скопировать все файлы. У меня есть автономная установка nopCommerce, и она работает нормально.
Любая помощь будет принята с благодарностью.
Я получаю следующую ошибку:
Свойство ConnectionString не было инициализировано. Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.InvalidOperationException: свойство ConnectionString не было инициализировано.
Ошибка источника:
Во время выполнения текущего веб-запроса было сгенерировано необработанное исключение. Информация о происхождении и местоположении исключения может быть идентифицирована с помощью трассировки стека исключений ниже.
Трассировки стека:
[InvalidOperationException: свойство ConnectionString не было инициализировано.] System.Data.SqlClient.SqlConnection.PermissionDemand() +5038498 System.Data.SqlClient.SqlConnectionFactory.PermissionDemand(DbConnection outerConnection)ConnectConnection.Connect.Convention.Convention. DbConnection outerConnection, DbConnectionFactory ConnectionFactory) +126 System.Data.SqlClient.SqlConnection.Open() +125 System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(булево openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String ExceptionCode, String attemptedOperation, булева & closeStoreConnectionOnFailure) + 52
[EntityException: Базовый поставщик не удалось открыть.]
System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String предпринимаемые Operation, Boolean. () +98 System.Data.Objects.ObjectContext.EnsureConnection () +81 System.Data.Objects.ObjectQuery1.GetResults(Nullable
1 forMergeOption) +46 System.Data.Objects.ObjectQuery1.System.Collections.Generic.IEnumerable<T>.GetEnumerator() +44
System.Linq.Enumerable.ToDictionary(IEnumerable
1 источник, Func2 keySelector, Func
2 elementSelector, IEqualityComparer1 comparer) +151
System.Linq.Enumerable.ToDictionary(IEnumerable
1 источник, Func`2 keySelector) +90
NopSolutions.NopCommerce.BusinessLogic.Configuration.Settings.SettingManager.GetAllSettings() +542
NopSolutions.NopCommerce.BusinessLogic.Configuration.Settings.SettingManager. BusinessLogic.Configuration.Settings.SettingManager.GetSettingValue(имя строки) +49
NopSolutions.NopCommerce.BusinessLogic.Configuration.Settings.SettingManager.GetSettingValueBoolean(строковое имя (Имя строки) +41
NopSolutions.NopCommerce.BusinessLogic.CustomerManagement.CustomerManager.get_UsernamesEnabled(), 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.W.Control.LoadRecursive() +74
System.Web.UI.Page.ProcessRequestMain(логическое значение includeStagesBeforeAsyncPoint, логическое значение includeStagesAfterAsyncPoint) +2207
3 ответа
У вас должна быть допустимая строка подключения для базы данных NopCommerce в web.config, и вы должны убедиться, что она прочитана.
В Application_Start
в global.asax NopCommerce считывает строку подключения и вставляет ее в DLL бизнес-логики. Если этого не произойдет, уровень доступа к данным (в DLL бизнес-логики) не сможет открыть соединение, и вы получите только что опубликованную ошибку. Я предлагаю проверить web.config и global.asax; если оба выглядят хорошо, установите точку останова в Application_Start
,
У вас должна быть правильная строка подключения.
После того, как вы пройдете этап установки базы данных (при заполнении настроек базы данных), nop commerce хранит информацию о базе данных в файле, который не находится в проекте, вы можете найти его в App_Data folder
в Presentation\Nop.Web\App_Data\
названный Settings.txt
обновите его, если вам нужно, и снова запустите приложение.
Строка подключения не хранится в файле web.config в nopcommerce... она находится в файле ConnectionStrings.config. Возможно, вы захотите проверить этот файл и скопировать его, если его там нет, или поместить туда строку подключения, если файл там, а строки нет.