2015-04-01 2 views
1

В файле журнала Sitecore появляется следующая ошибка. Действие «Сохранить в базу данных» в форме WFFM. Веб-формы для маркетологов 2.4. 141008.Ошибка Sitecore WFFM в базе данных

У меня есть пользовательский WFMDataProvider, который просто возвращает connectionString. Я получаю ошибку на CD производства, а не на CMS. (я не использую remoteWfmService) Что мне не хватает?

3292 09:42:32 ERROR Save To Database failed. 
Exception: System.Reflection.ReflectionTypeLoadException 
Message: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information. 
Source: mscorlib 
    at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module) 
    at System.Reflection.RuntimeModule.GetTypes() 
    at System.Reflection.Assembly.GetTypes() 
    at System.Data.Metadata.Edm.ObjectItemAttributeAssemblyLoader.LoadTypesFromAssembly() 
    at System.Data.Metadata.Edm.ObjectItemAssemblyLoader.Load() 
    at System.Data.Metadata.Edm.AssemblyCache.LoadAssembly(Assembly assembly, Boolean loadReferencedAssemblies, ObjectItemLoadingSessionData loadingData) 
    at System.Data.Metadata.Edm.AssemblyCache.LoadAssembly(Assembly assembly, Boolean loadReferencedAssemblies, KnownAssembliesSet knownAssemblies, EdmItemCollection edmItemCollection, Action`1 logLoadMessage, Object& loaderCookie, Dictionary`2& typesInLoading, List`1& errors) 
    at System.Data.Metadata.Edm.ObjectItemCollection.LoadTypesExpensiveWay(Assembly assembly) 
    at System.Data.Objects.DataClasses.RelationshipManager.TryGetRelationshipType(IEntityWrapper wrappedOwner, Type entityClrType, String relationshipName, AssociationType& associationType) 
    at System.Data.Objects.DataClasses.RelationshipManager.GetRelatedEndInternal(String relationshipName, String targetRoleName) 
    at System.Data.Objects.DataClasses.RelationshipManager.GetRelatedReference[TTargetEntity](String relationshipName, String targetRoleName) 
    at Sitecore.Forms.Data.Field..ctor(IField field, Form form) 
    at Sitecore.Forms.Data.DataProviders.WFMDataProvider.<>c__DisplayClass7.<InsertForm>b__6(IField f) 
    at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() 
    at Sitecore.Forms.Data.DataProviders.WFMDataProvider.InsertForm(IForm form) 
    at Sitecore.Forms.Data.DataManager.InsertForm(ID formId, AdaptedResultList fields, ID sessionID, String data) 
    at Sitecore.Form.Submit.SaveToDatabase.Execute(ID formid, AdaptedResultList fields, Object[] data) 

3292 09:42:32 WARN Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information. 
Exception: System.Reflection.ReflectionTypeLoadException 
Message: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information. 
Source: mscorlib 
    at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module) 
    at System.Reflection.RuntimeModule.GetTypes() 
    at System.Reflection.Assembly.GetTypes() 
    at System.Data.Metadata.Edm.ObjectItemAttributeAssemblyLoader.LoadTypesFromAssembly() 
    at System.Data.Metadata.Edm.ObjectItemAssemblyLoader.Load() 
    at System.Data.Metadata.Edm.AssemblyCache.LoadAssembly(Assembly assembly, Boolean loadReferencedAssemblies, ObjectItemLoadingSessionData loadingData) 
    at System.Data.Metadata.Edm.AssemblyCache.LoadAssembly(Assembly assembly, Boolean loadReferencedAssemblies, KnownAssembliesSet knownAssemblies, EdmItemCollection edmItemCollection, Action`1 logLoadMessage, Object& loaderCookie, Dictionary`2& typesInLoading, List`1& errors) 
    at System.Data.Metadata.Edm.ObjectItemCollection.LoadTypesExpensiveWay(Assembly assembly) 
    at System.Data.Objects.DataClasses.RelationshipManager.TryGetRelationshipType(IEntityWrapper wrappedOwner, Type entityClrType, String relationshipName, AssociationType& associationType) 
    at System.Data.Objects.DataClasses.RelationshipManager.GetRelatedEndInternal(String relationshipName, String targetRoleName) 
    at System.Data.Objects.DataClasses.RelationshipManager.GetRelatedReference[TTargetEntity](String relationshipName, String targetRoleName) 
    at Sitecore.Forms.Data.Field..ctor(IField field, Form form) 
    at Sitecore.Forms.Data.DataProviders.WFMDataProvider.<>c__DisplayClass7.<InsertForm>b__6(IField f) 
    at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() 
    at Sitecore.Forms.Data.DataProviders.WFMDataProvider.InsertForm(IForm form) 
    at Sitecore.Forms.Data.DataManager.InsertForm(ID formId, AdaptedResultList fields, ID sessionID, String data) 
    at Sitecore.Form.Submit.SaveToDatabase.Execute(ID formid, AdaptedResultList fields, Object[] data) 
    at Sitecore.Form.Core.Submit.SubmitActionManager.ExecuteSaving(ID formID, ControlResult[] list, ActionDefinition[] actions, Boolean simpleAdapt, ID sessionID) 

3292 09:42:32 WARN Web Forms for Marketers: an exception: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information. has occured while trying to execute an action. 
+1

Используете ли вы пароль, в котором есть специальные символы? Я обнаружил, что WFFM не очень хорошо справляется с ними, поскольку строка соединения обрабатывается в строке подключения Entity Framework. Если так, я бы попробовал простой пароль, чтобы это исключить. –

+0

Нет пароля, у которого нет сумасшедших специальных символов. –

+0

Как выглядит ваша строка подключения? Вы проверили раздел метаданных в строке подключения? –

ответ

0

Я обнаружил, что MSCaptcha.dll не используется. Обычно вы получаете исключение, когда этот файл отсутствует. Но в этом случае App_Config \ include \ Captcha.config также отсутствовал.

Если вы удалите эти 2 файла, похоже, что все работает нормально с формой (без капчей), но действие сохранения базы данных не работает и нуждается в этом файле MSCaptcha.dll. И поэтому дает ошибку, упомянутую в вопросе. Я почти уверен, что это проблема. Мне нужно только развернуть для подтверждения.

Смежные вопросы