title: ASP.NET cookies missing in HttpContext.Request.Cookies. Comma vs semi-colon separated cookies from Chrome/IE
body: <p>I'm observing an issue where I make a request to my server and inspect the <code>HttpContext.Request.Cookies</code> collection to be different in Chrome vs IE.</p>
  
  <p>My process is as follows:</p>
  
  <ol>
  <li>Launch a new inPrivate browser for IE, go to site url</li>
  <li>Observe  <code>HttpContext.Request.Cookies</code> to have <strong>three</strong> values, <em>siteLang</em>, <em>siteDir</em>, <em>isNative</em></li>
  <li><p>Observe the value of each cookie to respectively be:</p>
  
  <ul>
  <li><code>HttpContext.Request.Cookies["siteDir"].Value</code>  == "ltr"</li>
  <li><code>HttpContext.Request.Cookies["siteLang"].Value</code> == "en-US"</li>
  <li><code>HttpContext.Request.Cookies["isNative"].Value</code> == true</li>
  </ul></li>
  <li><p>Launch a new incognito browser for Chrome, go to site url</p></li>
  <li>Observe <code>HttpContext.Request.Cookies</code> to have <strong>one</strong> value, <em>siteDir</em></li>
  <li>Observe the value of <code>HttpContext.Request.Cookies["siteDir"].Value</code> to be <em>"ltr, siteLang=en-US, isNative=true"</em></li>
  </ol>
  
  <hr>
  
  <p>I have also observed <code>HttpContext.Request.Headers["Cookie"]</code> to contain the following values dependent on browser:</p>
  
  <ul>
  <li><p>siteLang=en-US; siteDir=ltr; isNative=true       // IE</p></li>
  <li><p>siteDir=ltr, siteLang=en-US, isNative=true       // Chrome</p></li>
  </ul>
  
  <hr>
  
  <p>So it appears Chrome is comma separating my cookies and IE is using semi-colons and Mvc can't figure out how to deal with the commas. Has anyone else seen this? I feel like this issue should be incredibly widespread if my diagnosis is correct. Any input is greatly appreciated.</p>
  
  <h2>EDIT</h2>
  
  <p>I've looked into the ASP.NET source and found the following code snippet in HttpRequest.cs (found here: [<a href="http://referencesource.microsoft.com/#System.Web/HttpRequest.cs][1]" rel="nofollow">http://referencesource.microsoft.com/#System.Web/HttpRequest.cs][1]</a>):</p>
  
  <pre><code>while (i &lt; l) {
      // find next ';' (don't look to ',' as per 91884)
      j = i;
      while (j &lt; l) {
          ch = s[j];
          if (ch == ';')
              break;
          j++;
      }
      // create cookie form string
      ...{continued}
  </code></pre>
  
  <p>Any ideas how I get information on 91884 to understand why they are ignoring comma separated cookies?</p>