Добавление независимых страниц aspx / asmx в DotNetNuke - PullRequest
2 голосов
/ 08 февраля 2011

Привет, я только что установил dotnetnuke 5.06 на моем сервере, скажем, путь mydomain.com/dnn

У меня есть библиотека, независимая от dotnetnuke, которую я должен запустить, и она содержит веб-сервисы и различные другие httphandlers, поэтому я пока не пытался интегрировать ее в DNN. библиотека находится под mydomain.com/dnn/lib

Библиотека работала нормально на моем старом сервере с 5.04 и все работало нормально, но по какой-то причине моя новая установка с 5.06 (windows 2008, sql server, iis 7.5) возвращает 404, когда я пытаюсь получить доступ к странице в mydomain / dnn / lib /, независимо от того, является ли это aspx, asmx ... однако изображения, кажется, работают просто отлично, все остальное либо возвращает 404, либо перенаправляет на default.aspx в DotNetNuke. С моим старым сайтом такого никогда не было.

кто-нибудь знает, что мне здесь не хватает? Любое предложение будет с благодарностью.

Ответы [ 2 ]

0 голосов
/ 24 марта 2011

На самом деле проблема была исправлена ​​только в DNN 5.6.2, которая в настоящее время находится в бета-версии. Версия 5.6.1 все еще имела эту проблему. Существует обходной путь, который работает в любой ситуации: добавьте абсолютный URL в вашу таблицу PortalAlias. Вы должны будете сделать это вручную, потому что вкладка Portals не позволяет использовать псевдонимы этого корня на том же уровне, что и существующий псевдоним.

Другое решение , если вы не можете дождаться новой версии DNN, включает добавление следующего кода к RequestFilterModule.vb и UrlRewriteModule.vb, который восстанавливает существующее поведение. Это не то исправление, которое применяется к DNN 5.6.2, потому что программисты считают, что слишком сложно влиять на производительность, чтобы проверять наличие файлов при каждом посещении (что я считаю странным, так как несколько файлов в любом случае затрагиваются при каждом посещении, основной DNN-кеш использует файловое кеширование, и, как правило, доступ к базе данных медленнее, чем к файлу):

'Add this to the RequestFilterModule.vb (line #59)'
'and to UrlRewriteModule.vb (line #325)'
If File.Exists(app.Server.MapPath(Request.Url.LocalPath)) And Not _ 
   Request.Url.LocalPath.ToLower.EndsWith(glbDefaultPage.ToLower) Then

     'exit early when path is an existing path'
     Exit Sub
End If

Очевидно, что если вы примените это исправление, вы должны быть осторожны со следующим обновлением DNN.

0 голосов
/ 08 февраля 2011

В DNN 5.5 появилась проблема, которая блокирует эти файлы, когда они находятся вне папки DesktopModules. DNN 5.6.1 исправил это до некоторой степени (я вполне уверен, что aspx работает сейчас), но не полностьюГлядя на связанную проблему, может помочь / исправить отключение автоматического сопоставления псевдонимов портала в настройках вашего сайта.

...