我有一个 ASP.NET MVC 3 网站,它既可以从特定的公共 url 获得,也可以作为 Facebook 应用程序使用。
在我的网站逻辑中,在某些地方我必须确定当前请求是来自 Facebook-app 还是来自公共网站,因为我想根据这个环境显示内容。
所以,例如。如果用户将我的网站用作 facebook 应用程序,那么我想显示图片,如果用户正常使用我的网站,那么我不想显示图片。
为了确定我是否来自 Facebook 应用程序,我检查了 HttpContext.Request 中的“signed_request”,并将其存储在 HttpSession 中以供我的其他操作使用,而不仅仅是为我定义的那个操作 (url)脸书应用程序。
因此,当执行子操作时,我可以根据 Session 确定该网站是否用作 FB 应用程序。
问题发生了,当会话超时时,因为虽然逻辑仍在 Facebook 内部运行,但我的逻辑认为它不在 Facebook 内部。
有什么建议吗?