2013-12-16 3 views
0

Я попросил унаследованного сайт диагностирован, созданный с помощью DNN5.0DNN 5 Ошибка загрузки (NullReferenceException) под IE11

проблема существует только тогда, когда IE11 используется. В предыдущих версиях все в порядке, а также при использовании других браузеров (Chrome, Firefox).

Мне удалось обнаружить, что это вызвано агентом пользователя, отправленным из IE на сервер. Когда он установлен в значение IE11 по умолчанию (User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko DNN генерирует ошибку, когда я меняю ее с помощью инструментов разработчика в IE10 один (User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)) сайт загружает без проблем. Добавление списка совместимости в список совместимости также помогает - он также меняет агент пользователя: User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3).

Возможно ли изменить поведение DNN при запросах на обслуживание с заголовком пользовательского агента IE11 по умолчанию для поведения пользователя-агента IE10? У меня не было ничего интересного.

Сведения об ошибке:

InnerException: ссылка на объект не указывает на экземпляр объекта.

Метод: DotNetNuke.UI.WebControls.MenuNodeWriter.Render

StackTrace:

Сообщение: DotNetNuke.Services.Exceptions.PageLoadException: Объект ссылка не указывает на экземпляр объекта. ---> System.NullReferenceException: Ссылка на объект не установлена ​​в экземпляр объекта. в DotNetNuke.UI.WebControls.MenuNodeWriter.Render (HtmlTextWriter писатель) в DotNetNuke.UI.WebControls.MenuNodeWriter.RenderNode (HtmlTextWriter писатель, MenuNode Node) в DotNetNuke.UI.WebControls.MenuNode.Render (HtmlTextWriter писатель) в DotNetNuke.UI.WebControls.DNNMenuWriter.RenderChildren (HtmlTextWriter писателя) в DotNetNuke.UI.WebControls.DNNMenuWriter.RenderContents (HtmlTextWriter писателя) в System.Web.UI.WebControls.WebControl.Render (HtmlTextWriter писателя) в системе .Web.UI.Control.RenderControlInternal (HtmlTextWriter writer, адаптер адаптера адаптера) в System.Web.UI.Control.RenderControl (HtmlTextWriter writer, ControlAdapter адаптер) в System.Web.UI.Control.RenderControl (HtmlTextWriter писатель) в DotNetNuke.UI.WebControls.DNNMenuWriter.RenderMenu (HtmlTextWriter писатель, DNNMenu Меню) на DotNetNuke.UI.WebControls.DNNMenu.Render (HtmlTextWriter писатель) в System.Web.UI.Control.RenderControlInternal (HtmlTextWriter писатель, ControlAdapter адаптер) в System.Web.UI.Control.RenderControl (HtmlTextWriter писатель, ControlAdapter адаптер) в System.Web.UI.Control .RenderControl (HtmlTextWriter writer) в System.Web.UI.Control.RenderChildrenInternal (HtmlTextWriter writer, ICollection children) в System.Web.UI.Control.Rende rChildren (HtmlTextWriter писатель) в System.Web.UI.Control.Render (HtmlTextWriter писатель) в System.Web.UI.Control.RenderControlInternal (HtmlTextWriter писатель, ControlAdapter адаптер) в System.Web.UI.Control.RenderControl (HtmlTextWriter writer, адаптер адаптера адаптера) на System.Web.UI.Control.RenderControl (HtmlTextWriter writer) на ASP.portals__default_skins_minimalextropy_index_ascx._ Рендер _control1 (HtmlTextWriter __w, контроль parameterContainer) в System.Web.UI.Control.RenderChildrenInternal (HtmlTextWriter писатель, ICollection детей) в System.Web.UI.Control.RenderChildren (HtmlTextWriter писатель) в System.Web.UI.Control.Render (HtmlTextWriter писатель) в System.Web.UI.Control.RenderControlInternal (HtmlTextWriter писатель, ControlAdapter адаптер) в System.Web.UI.Control.RenderControl (HtmlTextWriter писатель, ControlAdapter адаптер) в System.Web.UI.Control.RenderControl (HtmlTextWriter writer) в System.Web.UI.Control.RenderChildrenInternal (Html TextWriter писатель, ICollection детей) в System.Web.UI.Control.RenderChildren (HtmlTextWriter писатель) в System.Web.UI.Control.Render (HtmlTextWriter писатель) в System.Web.UI.Control.RenderControlInternal (HtmlTextWriter писатель, ControlAdapter адаптер) в System.Web.UI.Control.RenderControl (HtmlTextWriter писатель, ControlAdapter адаптер) в System.Web.UI.Control.RenderControl (HtmlTextWriter писатель) в System.Web.UI.Control. RenderChildrenInternal (HtmlTextWriter writer, ICollection children) в System.Web.UI.Control.RenderChildren (HtmlTextWriter writer) в System.Web.UI.HtmlControls.HtmlForm.RenderChildren (HtmlT extWriter писателя) на System.Web.UI.HtmlControls.HtmlContainerControl.Render (HtmlTextWriter писателя) на System.Web.UI.HtmlControls.HtmlForm.Render (HtmlTextWriter выхода) в System.Web.UI.Control.RenderControlInternal (HtmlTextWriter писатель, ControlAdapter адаптер) в System.Web.UI.Control.RenderControl (HtmlTextWriter писатель, ControlAdapter адаптер) в System.Web.UI.HtmlControls.HtmlForm.RenderControl (HtmlTextWriter писатель) в System.Web.UI .Control.RenderChildrenInternal (HtmlTextWriter писатель, дети ICollection) в System.Web.UI.Control.RenderChildren (HtmlTextWriter writer) на System.Web.UI.HtmlControls.HtmlCo ntainerControl.Render (HtmlTextWriter писатель) в System.Web.UI.Control.RenderControlInternal (HtmlTextWriter писатель, ControlAdapter адаптер) в System.Web.UI.Control.RenderControl (HtmlTextWriter писатель, ControlAdapter адаптер) в System.Web .UI.Control.RenderControl (HtmlTextWriter писатель) в ASP.default_aspx._ Рендер _control1 (HtmlTextWriter __w, управление parameterContainer) в System.Web.UI.Control.RenderChildrenInternal (HtmlTextWriter писатель, ICollection детей) в System.Web.UI.Control.RenderChildren (HtmlTextWriter writer) на System.Web.UI.Page.Render (HtmlTextWriter writer) на DotNetNuke.Framework.PageBase.Render (HtmlTextWriter писатель) в System.Web.UI.Control.RenderControlInternal (HtmlTextWriter писатель, ControlAdapter адаптер) в System.Web.UI.Control.RenderControl (HtmlTextWriter писатель, ControlAdapter адаптер) на System.Web.UI.Control.RenderControl (HtmlTextWriter writer) на System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) --- Конец внутренней трассировки стека исключений ---

ответ

2

У меня была такая же проблема, и вы правильно указали строку пользовательского агента.

Добавьте раздел браузера в свой web.config, чтобы его обрезать. Я использовал следующее:

<system.web> 
    <browserCaps> 
     <!-- IE 11 Patch //--> 
     <case match="Trident\/7.0; rv:(?'version'(?'major'\d+)(\.(?'minor'\d+)?)(?'letters'\w*))(?'extra'[^)]*)"> 
     browser=IE 
     layoutEngine=Trident 
     layoutEngineVersion=0${layoutVersion} 
     frames=true 
     tables=true 
     cookies=true 
     javascript=true 
     javaapplets=true 
     ecmascriptversion=1.5 
     w3cdomversion=1.0 
     css1=true 
     css2=true 
     xml=true 
     tagwriter=System.Web.UI.HtmlTextWriter 
     screenBitDepth=8 
     isColor=true 
     extra=${extra} 
     letters=${letters} 
     <case match="rv:(?'version'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*))"> 
      version=${version} 
      majorversion=0${major} 
      minorversion=0${minor} 
      type=IE${major} 
     </case> 
     </case> 
    </browserCaps> 
+0

Thank you Donn Bly! работает как шарм. –

0

Может быть это: http://www.hanselman.com/blog/IE10AndIE11AndWindows81AndDoPostBack.aspx

Я хотел бы предложить следующие пути обновления документа в DNN и обновления на более позднюю версию и посмотреть, не исчезла ли ваша проблема.

http://www.dnnsoftware.com/wiki/page/suggested_upgrade_path

Очевидно назад все и сделать это в развитии/промежуточной среде не живут.

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