Как устранить ошибку DNN при запросе AddModule

Я разработал специальный модуль DNN, используя шаблон веб-форм DNN, который можно найти на christoc.com. Решение создается без ошибок, и полученный установочный пакет устанавливается без проблем в моем экземпляре DNN 9.2.

Когда я пытаюсь добавить настраиваемый модуль на страницу, я получаю указанную выше ошибку. Инструменты разработчика Chrome показывают дополнительную информацию следующим образом:

POST http://localhost:81/API/internalservices/controlbar/AddModule 500 
(Internal Server Error)
send @ jquery.js?cdv=150:9566
ajax @ jquery.js?cdv=150:9173
jQuery.ajax @ jquery-migrate.js?cdv=150:191
request @ ModuleService.js?cdv=150:30
addModule @ ModuleDialog.js?cdv=150:214
_doAddModule @ ModuleDialog.js?cdv=150:794
proxy @ jquery.js?cdv=150:496
dispatch @ jquery.js?cdv=150:5206
elemData.handle @ jquery.js?cdv=150:5014

Стандартные модули DNN, такие как HTML, без проблем устанавливаются на одну страницу. Я только что применил самый последний пакет обновления 9.2 к экземпляру, на котором запущен общий скин DNN.

Кажется, что есть проблема с JQuery, но я не уверен, в чем проблема и как ее исправить. Любая помощь и руководство будут очень благодарны.

ОБНОВЛЕНИЕ:
Я хотел поделиться сегментом файла манифеста DNN, поскольку это может быть основной причиной, но я не уверен. Образец выглядит следующим образом:

<moduleControl>
                <controlKey>Product AccountLink</controlKey>
                <controlSrc>DesktopModules/MyModuleName/P_View_AccountLink.ascx</controlSrc>
                <supportsPartialRendering>False</supportsPartialRendering>
                <controlTitle>AccountLink Content</controlTitle>
                <controlType>View</controlType>
                <iconFile />
                <helpUrl />
                <viewOrder>0</viewOrder>
                <supportsPopUps>True</supportsPopUps>
</moduleControl>

ОБНОВЛЕНИЕ 2: я узнал, что представление, которое должно быть первым, которое будет отображаться при просмотре модуля на странице, должно иметь controlKey, установленное в ничто в манифесте DNN. После этого, удаления модуля, его переустановки и попытки разместить на странице была выдана следующая ошибка:

AbsoluteURL:/Default.aspx
DefaultDataProvider:DotNetNuke.Data.SqlDataProvider, DotNetNuke
ExceptionGUID:5386839d-258e-4214-ae27-fb0bbae8837a
AssemblyVersion:
PortalId:-1
UserId:-1
TabId:-1
RawUrl:
Referrer:
UserAgent:

ExceptionHash:rtw8cf/KL7W//vxFceePqix1IGE=
Message:Value cannot be null. Parameter name: type

StackTrace:
at System.Activator.CreateInstance(Type type, Boolean nonPublic) at 
System.Activator.CreateInstance(Type type) at 
DotNetNuke.UI.Skins.Pane.IsVesionableModule(ModuleInfo moduleInfo) at 
DotNetNuke.UI.Skins.Pane.InjectModule(ModuleInfo module) at 
DotNetNuke.UI.Skins.Skin.InjectModule(Pane pane, ModuleInfo module)

InnerMessage:
InnerStackTrace:
Source:mscorlib
FileName:
FileLineNumber:0
FileColumnNumber:0
Method:

Таким образом, на данный момент модуль все еще не добавляется на страницу должным образом. Я заметил следующую запись в таблице SQL Server DNN EventLog:

<LogProperties>
   <LogProperty>
     <PropertyName>AbsoluteURL</PropertyName>
     <PropertyValue>/Default.aspx</PropertyValue>
   </LogProperty>
   <LogProperty>
     <PropertyName>DefaultDataProvider</PropertyName>
     <PropertyValue>DotNetNuke.Data.SqlDataProvider, 
     DotNetNuke</PropertyValue>
   </LogProperty>
   <LogProperty>
     <PropertyName>ExceptionGUID</PropertyName>
     <PropertyValue>5386839d-258e-4214-ae27-fb0bbae8837a</PropertyValue>
  </LogProperty>
</LogProperties>

person SidC    schedule 23.07.2018    source источник


Ответы (1)


Я не был давно, но я полагаю, что однажды у меня была аналогичная ошибка с одним из моих модулей. Его можно было без проблем добавить на страницу в более старых установках, и установка в DNN 9 также прошла нормально. Но добавить его на страницу в DNN 9 не получится. Проблема заключалась в несоответствии между тем, что было указано в .DNN файле, и фактическим содержимым установочного пакета.

Я думаю, что это был узел moduleControls в moduleDefinitions, которого больше не существовало, или было наоборот.

В любом случае сопоставьте все элементы в файле DNN с фактическими файлами, удалите / добавьте определения и переустановите пакет.

person VDWWD    schedule 23.07.2018
comment
Я добавил сегмент своего файла манифеста DNN для вашего ознакомления. Насколько я могу судить, в документации не указаны устаревшие узлы. Спасибо за вашу помощь!! - person SidC; 23.07.2018
comment
да. Оказалось, что View, который должен быть запуском, нуждается в пустой записи controlKey в манифесте DNN. Большое спасибо за помощь!! - person SidC; 24.07.2018