Asp.net 当用户在同一web应用程序中从一个网站集转到另一个网站集时,如何检测事件?

Asp.net 当用户在同一web应用程序中从一个网站集转到另一个网站集时,如何检测事件?,asp.net,sharepoint,sharepoint-2010,httpmodule,spsite,Asp.net,Sharepoint,Sharepoint 2010,Httpmodule,Spsite,我在同一个web应用程序中有多个网站集,当用户从一个网站集转到另一个网站集时,我需要处理事件。我需要它来执行特定的操作,比如设置“lcid”cookie来更改站点的默认语言,并将值声明为用户属性映射 目前我使用的是自定义HTTP模块,它处理所有后授权web应用程序请求并检查当前用户和网站集,为集合中的每个用户保留最后访问的网站,并在检测到网站集之间的转换时为订阅者触发自定义事件 但我认为这种方法会降低web应用程序的性能。从日志中我看到,即使用户只需单击指向其他网站集中页面的链接,也会有大量的后

我在同一个web应用程序中有多个网站集,当用户从一个网站集转到另一个网站集时,我需要处理事件。我需要它来执行特定的操作,比如设置“lcid”cookie来更改站点的默认语言,并将值声明为用户属性映射

目前我使用的是自定义HTTP模块,它处理所有后授权web应用程序请求并检查当前用户和网站集,为集合中的每个用户保留最后访问的网站,并在检测到网站集之间的转换时为订阅者触发自定义事件

但我认为这种方法会降低web应用程序的性能。从日志中我看到,即使用户只需单击指向其他网站集中页面的链接,也会有大量的后授权请求。此外,在类似的情况下,有时会有一系列请求“下一个”网站集,然后是“上一个”,然后是“下一个”。当此模块处于活动状态时,SharePoint Designer(无法编辑页面)也会出现一些问题


你能给我一个更好的建议吗?提前感谢。

一种方法是使用隐藏控件和cookie。
在所有目标网站集的所有母版页中保留隐藏控件。 此控件将检查当前网站集url并将其保存在cookie中。可能在存储lcid的同一个cookie中。
从下一次加载开始,它将尝试匹配cookie中的url和当前网站集url。如果不同,请调用要执行的代码并更新cookie中的url。
这将比httpmodule在性能上轻得多