asp.net – 如何使我的Web应用程序无状态仍然做一些有用的事情?

前端之家收集整理的这篇文章主要介绍了asp.net – 如何使我的Web应用程序无状态仍然做一些有用的事情?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我看过这个建议…

ideally the web should follow the REST principle and be completely stateless. Therefore a single URL should identify a single resource,without having to keep the navigation history of each user.

…和我阅读维基百科页面http://en.wikipedia.org/wiki/REST,这真的听起来不错,但我没有得到如何实际实现它.我在ASP.NET Webforms不是MVC工作.

例如,在我即将建立的应用程序中 – 我需要我的用户登录才能让他们做任何事情.在他们允许做许多有用的事情之前,他们必须跳过几个圈,如接受T和C,并确认他们的基本细节不变.最后他们被允许做一些他们真正想要的东西BuyIBroduct!

在我看来(我来自富客户的HEAVILY状态世界),我需要状态来记录他们做了什么,并从他们被允许做的事情推断出来.我看不到我能支持他们(比如说)为BuyAProduct URI加书签.当他们到达书签时,如何知道他们是否已经登录,如果他们同意T和C,如果他们完全检查他们的基本细节?

我喜欢这个应用程序是无状态的,这部分是因为它似乎完全解决了“当用户点击后退和转发按钮时我该怎么办?”我看不到我仍然能够正常工作.我觉得我错过了一些真正根本的事情.

解决方法

建议不是建议应用程序应该是无状态的 – 这表明应用程序中的资源应该是无状态的.也就是说,无论用户访问哪个用户,或者是否登录,一个名为“www.mysite.com/resources/123”的页面将始终代表相同的资源.

(您可能会拒绝未登录用户访问的事实是一个单独的问题 – 关键是Uri本身不依赖于用户特定的数据).

例如,破坏此规则的网站类型是您导航到产品页面的那些网站,通过电子邮件将Uri发送给您的朋友,并点击它,他们会看到一条消息:“对不起,您的会话已过期“或”本产品不存在“或类似产品.发生这种情况的原因是因为Uri在站点上包含了特定于用户会话的内容,如果不同的用户尝试使用链接(或以后的同一用户),那么它将不再有效.

所以,你的应用程序总是仍然需要某种形式的状态,但是实现这个状态是重要的因素.

希望有帮助减轻一点光!

猜你在找的asp.Net相关文章