我正在考虑设置一个新域名来托管我网站上的静态内容,并使其无 cookie,就像 Stackoverflow 及其 静态域。因此,在继续购买域名并进行设置之前,我希望首先在 localhost 下的开发机器上对其进行测试(我必须提到,我计划在新域名上运行 IIS 来处理静态文件)。
因此,我在 IIS 下创建了一个新应用程序,并禁用了会话状态和表单身份验证。当我的主应用程序需要 css、图像和 js 等资源时,我会使用托管这些资源的“静态”应用程序的路径。
问题是,当我查看请求和所请求文件的响应时,它们仍然定义了 session_id cookie 以及 asp.net 身份验证 cookie。
我是否完全有可能在开发机器上完成我想做的事情,还是我必须继续购买新域名,希望这样才能让事情顺利进行?我尝试阅读有关无 cookie 域名的信息,但无法弄清楚我可能遗漏了什么。
答案1
要不使用会话状态功能,请将其放入文件中web.config
:
<configuration>
<system.web>
<sessionState mode="Off" />
</system.web>
</configuration>
答案2
在 IIS7/Windows 2008 上,您应该为网站禁用所有会话状态。这也会禁用 cookie。
在 IIS 管理器中,选择您的站点,在网上邻居选择会话状态并选择未启用。
答案3
我在 iis 中使用 cname 设置了一个单独的站点(主机:s.mysite.com、css.mysite.com 和 js.mysite.com)
在该站点的配置中我使用以下内容:
</system.web>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00"></clientCache>
</staticContent>
<urlCompression doDynamicCompression="false" />
<caching enabled="false" enableKernelCache="false">
</caching>
</system.webServer>
</configuration>