古典的なaspサイトとasp.net MVCを並べて実行すると、古典的なaspでCookieを作成すると、.net統合パイプラインがそれぞれの末尾にpath="/"を追加する理由を知っている人はいますか?複製の作成。
例えば。「/test」のパスで 2 つの Cookie を作成すると、この従来の ASP ページを実行すると、path="/" で 2 つの追加の Cookie が作成されます。
生のヘッダーはそのように見えます。
test1=aaa; path=/test
test2=bbb; path=/test
test1=aaa; path=/test; path=/
test2=bbb; path=/test; path=/
ただし、パスが /test に設定された test1 および test2 Cookie のみを作成しました。
統合されたパイプラインをオフにすると、正しいパスを持つ 2 つの Cookie のみが取得されます。さらに情報が必要な場合は、お知らせください。
更新:クラシック ASP が Cookie を書き込むとき、パスを含むすべてを値に入れるようです。そのため、.NET が Cookie を読み取るときに、すべてを値に入れ、パスをデフォルトとして「/」に設定します。これは、Cookie が書き込まれた同じ要求で Cookie にアクセスする場合にのみ問題になるようです。Response.Cookies または Request.Cookies を検査しないと、これは発生しないようです。これはバグだと思いますが、何が原因なのかわかりません。
Update2: Classic ASPで次のように Cookie を設定しています。
Response.AddHeader("Set-Cookie", "test1=aaa; path=/test; HttpOnly;");