Angularjs+Asp.netWebapi会话管理
Angular Js+Asp.net Web api session management
我是 angular 和网络 api 的新手,我之前曾在 asp.net 网络表单和 java jsp 上工作过我的问题是因为 angular 是纯 js 框架而 web api 用于 Http 服务,如果我们使用这两种技术构建 web 应用程序如何处理会话管理,我们可以在 web api 控制器?如果可以,既然webapi(REST)是无状态的,是否违反REST无状态原则,请说明
谢谢
Angular 和 WebAPI 不会更改在 Web 应用程序中跟踪会话的方式。通常,这是通过随每个请求发送的 cookie 完成的。由于 cookie 遵循域,Angular 请求将始终发送 cookie(就像以前一样)。
回答你的每一个问题:
can we create session in web api controllers?
是的,我们可以通过HttpContext.Current.Session
访问会话。
does it violate the principle of REST statelessness?
REST(Representational State Transfer)没有无状态原则。 HTTP 是一种无状态协议。 REST 表示对服务器的调用(使用 HTTP 动词等)应该推进应用程序的状态。
我还没有资格发表评论来回应他,但 David Tyron 在这种情况下似乎误解了 "stateless" 这个词。显然,使用它的 API 和 UI 都必须维护和处理可以正确标记状态的数据,但是在 RESTful API 的上下文中,"stateless" 通常特指 API 不跟踪 客户端的 状态。
这背后的想法是,对 API 的每个请求都必须包含所有必要的 UI 信息以执行所需的操作。换句话说,每个调用都必须孤立地发生并且彼此独立。
会话绝对违反了这一原则,尽管它可能是最常用的阻止某些事情达到 100% 的东西 RESTful。
(相关说明,Cookie 仍然算作无状态,因为客户端负责存储该数据。)
我是 angular 和网络 api 的新手,我之前曾在 asp.net 网络表单和 java jsp 上工作过我的问题是因为 angular 是纯 js 框架而 web api 用于 Http 服务,如果我们使用这两种技术构建 web 应用程序如何处理会话管理,我们可以在 web api 控制器?如果可以,既然webapi(REST)是无状态的,是否违反REST无状态原则,请说明
谢谢
Angular 和 WebAPI 不会更改在 Web 应用程序中跟踪会话的方式。通常,这是通过随每个请求发送的 cookie 完成的。由于 cookie 遵循域,Angular 请求将始终发送 cookie(就像以前一样)。
回答你的每一个问题:
can we create session in web api controllers?
是的,我们可以通过HttpContext.Current.Session
访问会话。
does it violate the principle of REST statelessness?
REST(Representational State Transfer)没有无状态原则。 HTTP 是一种无状态协议。 REST 表示对服务器的调用(使用 HTTP 动词等)应该推进应用程序的状态。
我还没有资格发表评论来回应他,但 David Tyron 在这种情况下似乎误解了 "stateless" 这个词。显然,使用它的 API 和 UI 都必须维护和处理可以正确标记状态的数据,但是在 RESTful API 的上下文中,"stateless" 通常特指 API 不跟踪 客户端的 状态。
这背后的想法是,对 API 的每个请求都必须包含所有必要的 UI 信息以执行所需的操作。换句话说,每个调用都必须孤立地发生并且彼此独立。
会话绝对违反了这一原则,尽管它可能是最常用的阻止某些事情达到 100% 的东西 RESTful。
(相关说明,Cookie 仍然算作无状态,因为客户端负责存储该数据。)