ASP.NET中的混合模式无Cookie / Cookie会话

时间:2012-05-17 15:37:44

标签: asp.net post cookies session-cookies cookieless

ASP.NET中的Cookie会给我带来一些问题。

在大多数情况下,我想使用无cookie会话。这主要是为了解决safari不允许我从iFrame设置cookie的问题。所以那部分一切正常。无Cookie会话可以完成这项任务。

但是,我有一个从POST调用的页面。它使用一个帖子从一个表单传入一个隐藏的字段,然后做一些东西....你真的不需要知道什么。

事实证明,当无Cookie会话启用时,POST被禁用,只有GETS可以在ASP.NET Web表单中发生。这打破了我的功能。

我想要做的是将web.config添加到包含我的POST页面的文件夹,以回到正常的cookie会话,这样我就可以让我的POST再次运行,但这不起作用。

<?xml version="1.0"?>
 <configuration>
  <system.web>
     <sessionState cookieless="false" />
  </system.web>
 </configuration>

有没有人知道如何让文件夹与普通的cookie会话一起工作,而网站的其余部分可以使用无Cookie会话?

1 个答案:

答案 0 :(得分:1)

我找到了解决方法:

我所做的是创建HTTP处理程序(.ashx文件)。这将从Request.Form中获取特定的post值,并将它们标记为Querystring参数。然后重定向到我的原始页面,现在查找Querystring params而不是Form。呼!

HTTP处理程序是我的应用程序现在发布的内容 - 这是一个Facebook签名请求。

所以好消息是,我现在可以使用HTTP处理程序 - 你每天都能学到一些东西。