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



我已经在谷歌上研究过这个错误,但没有成功,最终发布在这里。

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

我认为default.aspx是DNN中的主页,所以它工作得很好,但不是其他从DNN表动态呈现的页面。

错误异常:

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

事件日志表消息:

DotNetNuke.Services.Exceptions.PageLoadException:只有在配置文件或Page指令中将enableSessionState设置为true时,才能使用会话状态。还请确保在<配置><system.web><httpModules>部分--->System.Web.HttpException:只有在配置文件或Page指令中将enableSessionState设置为true时,才能使用会话状态。还请确保在<配置><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上(布尔值包含同步点之前的阶段,布尔值包括同步点之后的阶段)---内部异常堆栈跟踪结束---

我从这个链接中获得了参考,并在我的网络配置文件中进行了如下更新,但我错过了我网站的所有页面,也无法看到主页EventLog表显示了与我在问题中发布的错误消息相同的错误消息。

更新如下web配置:

<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" >

错误前:

我已将我的DNN网站添加为本地IIS服务器中的子目录,因此我的访问URL已变为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,它就可以工作了。我没有犯任何错误。因此,现在访问URL变成http://localhost/

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

对于此帖子的访问者:

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

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

相关内容

  • 没有找到相关文章

最新更新