我有一个相当大的Umbraco实例,其中包含营销页面和Web应用程序的混合。
大约10%的Content节点页面是Web应用程序页面。我想为其余90%不需要它的页面禁用SessionState,以提高性能并避免争用。我们正在使用SQL Server会话。
有没有办法做到这一点?就我能够找到的情况而言,在每页基础上禁用SessionState的唯一方法是在.aspx EnableSessionState="False"
声明中包含@Page
。但是当Umbraco生成虚拟.aspx页面时,我无法通过任何方式来实现这一点。
在代码中似乎没有任何方式可以实现它。
答案 0 :(得分:1)
由于您似乎在Umbraco(而不是MVC)中使用嵌套的webforms母版页,因此您只剩下一个选项,因为Masterpages不具备公共属性' enablesessionstate'
据我所知,你有一个选项可以处理web.config中的会话状态
有两种情况,隐式和显式
明确排除
<!-- globally enbabled sessionstate -->
<system.web>
<sessionState mode="On" />
</system.web>
<!-- disable on specific paths -->
<location path="path/whatever">
<system.web>
<sessionState mode="Off" />
</system.web>
</location>
<location path="otherplace">
<system.web>
<sessionState mode="Off" />
</system.web>
</location>
隐
<!-- globally disabled sessionstate -->
<system.web>
<sessionState mode="Off" />
</system.web>
<!-- enable on specific paths -->
<location path="path/whatever">
<system.web>
<sessionState mode="On" />
</system.web>
</location>
<location path="otherplace">
<system.web>
<sessionState mode="On" />
</system.web>
</location>
答案 1 :(得分:0)
如果您正在使用网络表单,您可能会挂钩页面加载事件并检查页面模板,然后打开或关闭会话状态?
您使用的是哪个版本的Umbraco?