首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在本地主机上使用asp.net时启用angular5 web api会话

在本地主机上使用asp.net时启用angular5 web api会话
EN

Stack Overflow用户
提问于 2018-04-05 14:19:02
回答 1查看 635关注 0票数 0

在生产模式下,我在同一站点上有angular 5客户端和web api,所以会话没有问题,但在开发模式下,我的angular 5托管在localhost:4200上,它会在每次调用服务时重置会话。

我可以在开发模式下将angular 5和web api托管在同一主机上,但这意味着我必须一直进行ng构建(这将有很大的开销)。

有什么想法吗?我应该使用会话吗?还是有更好的方法?

更新

首先,正如Andrei Dragotoniu所说,在web api中使用会话不是最佳实践,应该避免。

但是如果web api必须使用会话,我已经找到了开发模式的解决方案--在angular 5项目中添加一个代理:我必须将我的请求代理到我的web api服务器,然后对web api和web api的请求是相同的域。

如何在angular 5项目中添加代理:

angular-cli server - how to proxy API requests to another server?

EN

回答 1

Stack Overflow用户

发布于 2018-04-05 17:53:03

如果你谈论的是.Net后端会话,那么不是,你不应该尝试使用它。原因很简单,api是无状态的,每个请求都是独立的,并且需要拥有完成它所需的所有数据。

然而,在客户端,您可以使用允许您存储内容以供以后使用的东西,本地存储是一个很好的候选者。

此外,在angular中,您可以使用单例服务共享数据:https://angular.io/guide/singleton-services

这些服务只需创建一次,您可以在其中存储数据,将它们注入任何需要的组件中,它们真正成为共享数据的一种方式。如果您碰巧硬重新加载应用程序,则所有数据都将丢失,因此在这种情况下,本地存储可能会有所帮助。

我怀疑你最终会得到单例服务和本地存储的组合,但千万不要尝试在无状态api中使用会话。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49665359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档