【问题标题】:Not able to resolve EnableSessionState is set to true error in all DNN pages无法解决所有 DNN 页面中的 EnableSessionState 设置为 true 错误
【发布时间】:2015-07-04 18:51:34
【问题描述】:

我已经在 Google 中研究过这个错误,但没有成功,最后在这里发布。

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

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

错误异常:

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

事件日志表消息:

DotNetNuke.Services.Exceptions.PageLoadException:会话状态只能在 enableSessionState 设置为 true 时使用,无论是在配置文件中还是在 Page 指令中。还请确保 System.Web.SessionStateModule 或自定义会话状态模块包含在应用程序配置的 \\ 部分中。 ---> System.Web.HttpException:会话状态只能在 enableSessionState 设置为 true 时使用,无论是在配置文件中还是在 Page 指令中。还请确保 System.Web.SessionStateModule 或自定义会话状态模块包含在应用程序配置的 \\ 部分中。 在 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(布尔 includeStagesBeforeAsyncPoint,布尔 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" >

【问题讨论】:

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


    【解决方案1】:

    错误之前:

    我已将我的 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 (A DNN MVP) 的答案。请参阅此link 了解更多信息。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-18
      • 2021-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-27
      相关资源
      最近更新 更多