我有一个 MVC 3 应用程序,它为两个不同域上的请求提供服务。对 firstdomain.com 的请求来自 iframe,对 seconddomain.com 的请求来自普通浏览器窗口。我需要在 iframe 中使用无 cookie 会话,但希望在普通浏览器中保留基于 cookie 的会话。
通常会话类型在 web.config 中通过设置以下内容来确定:
<system.web>
...
<sessionState cookieless="UseUri"/>
...
</system.web>
但这适用于每个请求,无论域如何。可以在服务器上拥有该站点的两个副本,每个域一个,并且每个具有不同的 sessionState cookieless 设置值,但出于多种原因,我想避免这种情况。有没有办法在运行 Web 应用程序的单个实例时根据请求的域来切换此功能?