无法解析所有DNN页面中的EnableSessionState都设置为true错误

时间:2015-04-26 10:58:50

标签: asp.net session web-config dotnetnuke dotnetnuke-7

我已经在Google上研究过这个错误,但未能成功,最后发布在这里。

我已经下载了我的实时网站,数据库并将其集成到我的本地环境中。我只能看到主页但无法看到其他页面。我的所有其他页面都面临以下错误。

我认为 default.aspx 是DNN中的主页,因此它可以正常工作,但不能从DNN表动态呈现其他页面。

错误例外:

  

只有在配置文件或Page指令中将enableSessionState设置为true时,才能使用会话状态。还请确保System.Web.SessionStateModule或自定义会话状态模块包含在应用程序配置的\\部分中。

事件日志表消息:

  

DotNetNuke.Services.Exceptions.PageLoadException:只有在配置文件或Page指令中将enableSessionState设置为true时,才能使用会话状态。另请确保System.Web.SessionStateModule或自定义会话状态模块包含在< configuration> \< system.web> \< httpModules>中。应用程序配置中的部分。 ---> System.Web.HttpException:只有在配置文件或Page指令中将enableSessionState设置为true时,才能使用会话状态。另请确保System.Web.SessionStateModule或自定义会话状态模块包含在< configuration> \< system.web> \< httpModules>中。应用程序配置中的部分。         在System.Web.UI.Page.get_Session()         在DotNetNuke.Framework.CachePageStatePersister.Save()         在System.Web.UI.Page.SavePageStateToPersistenceMedium(对象状态)         在System.Web.UI.Page.SaveAllState()         在System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)         ---内部异常堆栈跟踪结束---

我从this link获取了参考,并在我的网络配置文件中更新如下,但我错过了我网站的所有页面,也无法看到主页。 EventLog 表显示了我在问题中发布的错误消息。

更新网络配置,如下所示:

<modules runAllManagedModulesForAllRequests="true">
  <remove name="Session" />
  <add name="Session" type="System.Web.SessionState.SessionStateModule"/>      

...

 <httpModules>
  <add name="Session" type="System.Web.SessionState.SessionStateModule"  />

...

<pages validateRequest="false" enableViewStateMac="true" enableEventValidation="false" viewStateEncryptionMode="Always" enableSessionState="true" >

1 个答案:

答案 0 :(得分:1)

错误之前:

我已将我的DNN网站添加为本地IIS服务器中的子目录,因此我的访问网址已变为http://localhost/WebsiteName/。由于DNN核心库中的某些原因,它不能使用子目录并在我的本地计算机上遇到错误enableSessionState is set to true, either in a configuration file or in the Page directive但是在实时,它在IIS服务器上安装为Default Web Site

错误已解决:

只需将我的网站从子目录替换为IIS服务器中的Default Web Site即可。我没有收到任何错误。因此,现在访问网址变为http://localhost/

我检查了同一应用程序池中设置的两个网站以及相同的dotnet框架版本,但子目录网站不起作用,当我将其设置为默认IIS网站时,它可以工作。

对于此帖子的访问者:

如果你无法解决这个错误,你可以选择Cathal Connoly(DNN MVP)的答案。有关详细信息,请参阅此link

看来,如果更改页面状态持久性,这将解析它(http://www.dnnsoftware.com/Content/Dn..。),或者在web.config中启用set enableSessionState为true