ASP会话状态没有改变

时间:2015-05-07 09:26:33

标签: c# asp.net session cookies

Hello我创建了一些使用ASP.NET SQL Session进行缓存的服务。在Web项目中测试时一切正常。问题是当我尝试创建单元测试时。工作流程是这样的 - 首先通过1方法登录,您将收到一个令牌,然后将其用于后续调用。 起初我注意到会话ID在单元测试之间发生了变化 - 所以即使你确实有令牌会话也不同,所以缓存基本上不存在。阅读后的帖子: HttpWebRequest: how get the session idhttps://support.microsoft.com/en-us/kb/899918?wa=wsignin1.0和其他几个人

我能够正确添加“ASP.NET_SessionId” - 通过向第一个请求添加CookieContainer然后重新使用该容器。

  [TestClass()]
    public class RESTTests
    {
        privateCookieContainer Container { get; set; }
        [TestMethod]
        public void GetContextTest()
        {
         ...
            HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(srequest);

            this.Container = new CookieContainer(); 
            webRequest.CookieContainer = this.Container; // then assign the container to subsequent calls
           ...
        }
}

我还尝试手动添加“ASP.NET_SessionId”。 这两种方法都有效 - 当我启动Fiddler时,cookie就存在了。但即使存在cookie,会话ID也不会改变,因此缓存不起作用。有没有人遇到过这些问题。

P.S:我在IIS 8中使用.Net 4.5

0 个答案:

没有答案