Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.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
Javascript C#WebApi+;有角度的4组饼干不';不要保存饼干_Javascript_C#_Angular_Cookies_Asp.net Web Api - Fatal编程技术网

Javascript C#WebApi+;有角度的4组饼干不';不要保存饼干

Javascript C#WebApi+;有角度的4组饼干不';不要保存饼干,javascript,c#,angular,cookies,asp.net-web-api,Javascript,C#,Angular,Cookies,Asp.net Web Api,我正在对我的API执行一个http请求,该请求应该向我发送两个带有设置Cookie头的Cookie 对于这个初始化请求,cookie似乎被正确地发回,但它们没有保存在Chrome中,因此对于以后的请求,cookie不会被发送 我的初始化响应头是: Access-Control-Allow-Credentials:true Access-Control-Allow-Headers:content-type Access-Control-Allow-Origin:http://localhost:4

我正在对我的API执行一个http请求,该请求应该向我发送两个带有设置Cookie头的Cookie

对于这个初始化请求,cookie似乎被正确地发回,但它们没有保存在Chrome中,因此对于以后的请求,cookie不会被发送

我的初始化响应头是:

Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:content-type
Access-Control-Allow-Origin:http://localhost:4200
Cache-Control:no-cache
Content-Length:0
Date:Thu, 20 Apr 2017 09:25:45 GMT
Expires:-1
Pragma:no-cache
Server:Microsoft-IIS/8.0
Set-Cookie:ASP.NET_SessionId=vpt0f3m4jp2gwghm1mmrxyhm; path=/; HttpOnly
Set-Cookie:ARRAffinity=ccebcfbd458447f3ab209749a770ad1f93d4b4c907a7cac9ef717d5fbf543fe3;Path=/;Domain=xxx
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET
但Chrome的cookies存储中没有存储任何内容

它可能是从火车站来的吗

Expires:-1
提前谢谢

我猜您的C#后端运行在与Angular应用程序不同的端口。Cookie不会在同一主机的不同端口之间共享。Chrome显示对当前选项卡URL有效的Cookie,该URL是角度应用程序。因此,您无法在那里看到后端cookie


您可以检查从Angular应用程序到C#后端的XHR请求头,它们应该包含指定的cookies(ASP.NET#U SessionId,ARRAffinity)。

更复杂的是:我在localhost中运行Angular应用程序,在Azure中运行后端。但我明白这一点,那么我如何在我的Angular应用程序中保存这些cookies呢?使用ngx cookie很难做到这一点?所以情况是一样的-不同的主机不共享cookie。为什么您需要Angular应用程序中Azure的cookie?在后端检索会话。后端会话将自动维护,因为cookie始终附加到您的请求。在Angular应用程序中不应该需要它们。