【问题标题】:Blazor - Stripe payment integrationBlazor - 条纹支付集成
【发布时间】:2022-08-11 23:57:25
【问题描述】:

在我的 Blazor 应用程序中,我使用的是 Stripe Checkout,我可以成功处理付款。 我的问题是,在成功付款后,返回成功 - 提供给 Stripe 的 URL 页面似乎进入了我的应用程序的另一个实例。成功付款后,我现在导航的所有页面都显示默认值,就好像我重新启动了程序一样。 如何确保传递给 Stripe 的成功 URL 页面是我当前实例的实际 URL?

  • 您提供的详细信息不足...您使用哪种托管模型?你是如何调用 Stripe API 的?欢迎来到堆栈溢出!请查看this

标签: blazor


【解决方案1】:

服务器托管的 Blazor 具有称为“Blazor 电路”的“会话”概念。当您从 Blazor 页面导航到其他站点时,电路会中断并且所有会话数据都会被处理掉。当您向后导航时,即使使用相同的 URL,也会创建一个新电路。您必须确保根据 URL 令牌或其他机制按要求保存和加载数据。

在传统的服务器渲染应用程序中,在多个浏览器屏幕(选项卡或 iframe)中打开同一个应用程序通常不会转化为对服务器的额外资源需求。在 Blazor Server 应用程序中,每个浏览器屏幕都需要单独的电路和服务器管理的组件状态的单独实例。 Blazor 将关闭浏览器选项卡或导航到外部 URL 视为正常终止。在优雅终止的情况下,立即释放电路和相关资源。客户端也可能不正常地断开连接,例如由于网络中断。 Blazor 服务器在可配置的时间间隔内存储断开的电路,以允许客户端重新连接。

也可以看看:

Blazor hosting models

Blazor state management

【讨论】:

  • 虽然不是一个完整的答案,但这会有所帮助。我试图找到一个参考布雷泽电路这将有助于解决这个问题,到目前为止只发现了这个未回答的问题:stackoverflow.com/q/61982339/1690217
  • 更新了这个答案并回答了关于 Blazor 状态管理的问题。
猜你喜欢
  • 2021-03-05
  • 2017-09-14
  • 2021-08-02
  • 2020-12-30
  • 2022-06-24
  • 2021-11-19
  • 2021-10-08
  • 2016-08-02
  • 2020-03-06
相关资源
最近更新 更多