通过解析工具在ASP.NET中使用逗号分隔的cookie

如果你查看System.Web.HttpRequest类的源代码就会发现,ASP.NET不支持以逗号为分隔符的cookie。你必须使用分号才能处理cookie。

但是,W3C的HTTP状态管理机制文档(RFC2309)中规定,分号和逗号都是有效的cookie键分隔符。只不过开发者通常都使用分号而已。

为了在ASP.NET中实现以逗号为分隔符的cookie,你需要创建工具来模拟ASP.NET,从而以逗号(而非分号)来解析cookie。创建解析工具的步骤如下:

  • 创建处理所有请求的HttpModule类
  • 检查cookie头中的逗号
  • 解析cookie,并将其提取到集合中

Match.com的软件工程师Keyvan Nayyeri在其解析工具中实现了上述步骤。据Keyvan说,如果cookie的值中包含逗号,该解析工具将无法工作,同时,开发者可以在Fiddler中测试该模块。

查看英文原文:http://www.infoq.com/news/2012/11/comma-delimited-cookies-aspnet

感谢侯伯薇对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

你可能感兴趣的:(通过解析工具在ASP.NET中使用逗号分隔的cookie)