有人知道为什么当我同时运行经典asp网站和asp.net MVC时,在经典asp中创建cookie后,.net集成管道会在每个cookie的末尾添加路径"path=/",从而创建重复的cookie。
例如,如果我使用路径"/test"创建两个cookie,那么当我运行这个经典asp页面时,会创建2个额外的路径为"/"的cookie。
原始标头如下:
test1=aaa; path=/test
test2=bbb; path=/test
test1=aaa; path=/test; path=/
test2=bbb; path=/test; path=/
然而,我只创建了一个路径为/test的test1和test2 cookie。如果关闭集成管道,我只能得到两个带有正确路径的cookie。如果需要更多信息,请告诉我。更新:似乎当经典asp写入cookie时,它将所有内容都放入值中,包括路径,因此当.NET读取cookie时,它将整个值放入值中,然后将路径设置为'/'作为默认路径。这似乎只在访问写入cookie的同一请求时会出现问题。如果不检查Response.Cookies或Request.Cookies,则似乎不会发生这种情况。我认为这是一个错误,但我不确定是什么原因。更新2:我在Classic Asp中像这样设置cookies: Response.AddHeader("Set-Cookie", "test1=aaa; path=/test; HttpOnly;");