Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 嘲弄;ASP.NET“会话ID”;曲奇_C#_Asp.net Mvc_Cookies - Fatal编程技术网

C# 嘲弄;ASP.NET“会话ID”;曲奇

C# 嘲弄;ASP.NET“会话ID”;曲奇,c#,asp.net-mvc,cookies,C#,Asp.net Mvc,Cookies,我正在尝试为以下场景提供解决方案: 我已经将一个web应用程序从forms auth迁移到OWIN+OAuth 现在,还有一款移动客户端应用程序(android)。移动客户端根据web应用程序进行身份验证,如果一切顺利,服务器将使用用户的数据进行响应,并使用两个cookie进行响应,一个是会话cookie(从未使用过,但在客户端上检查过它的存在),另一个是用户的身份cookie。移动客户端验证用户的数据“看起来不错”,并检查是否存在这两个cookie,以便通过登录屏幕 我现在想做的是保持移动应用

我正在尝试为以下场景提供解决方案:

我已经将一个web应用程序从forms auth迁移到OWIN+OAuth

现在,还有一款移动客户端应用程序(android)。移动客户端根据web应用程序进行身份验证,如果一切顺利,服务器将使用用户的数据进行响应,并使用两个cookie进行响应,一个是会话cookie(从未使用过,但在客户端上检查过它的存在),另一个是用户的身份cookie。移动客户端验证用户的数据“看起来不错”,并检查是否存在这两个cookie,以便通过登录屏幕

我现在想做的是保持移动应用程序不受服务器上更改的影响,方法是在所有必需的检查之后根据需要提供用户的数据,然后模拟2个cookie的存在,这样我就可以避免对移动应用程序进行任何更改(避免编译和更新需要的客户端)

下面的代码是在API控制器中实现的,虽然
.ASPXAUTH
cookie似乎工作正常,但旧的
ASP.NET_SessionId
cookie似乎无法控制

下面的代码永远不会向客户端响应
ASP.NET_SessionId
cookie,尽管该代码与另一个cookie的代码相同,该cookie将完全遵循集合上的.Add/.Set/.Remove

                    if (HttpContext.Current.Response.Cookies.AllKeys.Contains("ASP.NET_SessionId"))
                        HttpContext.Current.Response.Cookies.Set(new HttpCookie("ASP.NET_SessionId", "1st") { HttpOnly = false });
                    else
                        HttpContext.Current.Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", "1st") { HttpOnly = false });


                    if (HttpContext.Current.Response.Cookies.AllKeys.Contains(".ASPXAUTH"))
                        HttpContext.Current.Response.Cookies.Set(new HttpCookie(".ASPXAUTH", "2nd") { HttpOnly = false });
                    else
                        HttpContext.Current.Response.Cookies.Add(new HttpCookie(".ASPXAUTH", "2nd") { HttpOnly = false });
是否有任何原因导致我无法返回名为
ASP.NET\u SessionId
的“自定义cookie”? 我已经删除了所有与forms auth相关的逻辑,所以默认情况下不再生成cookie,但看起来我也不能返回它

提前谢谢