Why won't asp.net create cookies in localhost?

前端 未结 3 1666
难免孤独
难免孤独 2020-11-27 04:42

Okay, this is really kinda starting to bug me. I have a simple Web project setup located at: \"C:\\Projects\\MyTestProject\\\". In IIS on my machine, I have mapped a virtu

相关标签:
3条回答
  • 2020-11-27 04:58

    Are you assigning an expiration date to the cookie? By default, the cookie will expire when the browser session expires, meaning it won't write anything to disk.

    0 讨论(0)
  • 2020-11-27 05:01

    The cookie specs require two names and a dot between, so your cookiedomain cannot be "localhost". Here's how I solved it:

    1. Add this to your %WINDIR%\System32\drivers\etc\hosts file: 127.0.0.1 dev.livesite.com

    2. When developing you use http://dev.livesite.com instead of http://localhost

    3. Use ".livesite.com" as cookiedomain (with a dot in the beginning) when creating the cookie. Modern browsers doesn't require a leading dot anymore, but you may want to use anyway for backwards compability.

    4. Now it works on all sites:

      • http://dev.livesite.com
      • http://www.livesite.com
      • http://livesite.com
    0 讨论(0)
  • 2020-11-27 05:05

    Since an answer has never been chosen, I suppose I can still throw something else out there.

    One reason you can run into no cookies being written with an application running under localhost is the httpCookies setting in the web.config. If the domain attribute was set to a specific domain and you run under localhost, the cookies did not get written for me.

    Remove the domain attribute in development and the cookies are written:

    <!-- Development -->
    <httpCookies httpOnlyCookies="true" requireSSL="false" />
    <!-- Production -->
    <!--<httpCookies domain=".domain.com" httpOnlyCookies="true" requireSSL="true" />-->
    
    0 讨论(0)
提交回复
热议问题