将 dll 放置在 bin 中时是否与放置在 GAC 中时相同的过程适用于会话状态?
还是在幕后发生了某种深奥的变化?
我已将测试解决方案部署到使用会话状态的共享点站点的 bin 目录中。我确保在我的 web.config 文件中配置了会话状态...
<add name="Session" type="System.Web.SessionState.SessionStateModule" />
enableSessionState="true"
一切正常!
然后我将此项目复制到另一个解决方案中,该解决方案部署到 GAC 并在不同的共享点站点上激活。我确保在 web.config 文件中为这个不同的共享点站点打开会话状态。我浏览到使用会话状态的页面并收到此错误...</p>
会话状态只能在 enableSessionState 设置为 true 时使用,无论是在配置文件中还是在 Page 指令中。还请确保 System.Web.SessionStateModule 或自定义会话状态模块包含在应用程序配置的 \ 部分中。
奇妙!我可以看到的唯一区别是一个解决方案部署到 Bin 文件夹,另一个部署到 GAC。
有时我讨厌 Sharepoint。
对此更新:我创建了一个简单的共享点解决方案,其中一个页面部署到 GAC,该页面将一个值添加到会话变量,然后将其从会话变量读回标签控件。
我将解决方案部署到我的测试和生产站点,它在测试站点中按预期工作,但产生错误......</p>
会话状态只能在 enableSessionState 设置为 true 时使用,无论是在配置文件中还是在 Page 指令中。还请确保 System.Web.SessionStateModule 或自定义会话状态模块包含在应用程序配置的 \ 部分中。
在我的生产现场,为什么,为什么,为什么?
我检查并重新检查了我的 web.config 文件和中央管理员以确保启用会话状态。现在这似乎表明我的 sharepoint Web 应用程序存在问题。
对此 2 的更新:这是母版页!我刚刚发现通过将母版页切换到开箱即用的选项可以让我的代码正确运行 - 它使用会话变量。我还注意到自定义母版页不喜欢“autoeventwireup=true”页面指令。我已经在两个母版页之间进行了文本比较,并且在 Tagprefix 中看不到任何不同。我会继续找...
更新 3 关闭此问题并使用一些附加信息开始一个新问题可能更容易。