【问题标题】:Oracle Transactions Queries, Asp.net timerOracle 事务查询、Asp.net 计时器
【发布时间】:2012-02-27 07:01:29
【问题描述】:

我有一个 asp.net/C# 应用程序和作为 oracle 的后端。 我需要使用交易。以下是要求:

我有一个 OrderDetails 表,其列如下: "OrderId" "Ordername" "OrderStatus"

所有订单名称在前端显示为单选按钮。选中单选按钮后,该订单的状态应更改为“处理中”,单击页面上的“创建订单”按钮,状态应更改为“已预订”。

但如果单选按钮未选中或窗口已关闭,状态应更改为“可用”。

此外,一旦选中单选按钮,计时器应该在前端启动。计时器持续时间应该来自另一个后端表。订单只能在该计时器持续时间内保持“处理中”。

关于如何实现此功能的任何指示。

提前致谢。

【问题讨论】:

  • 需求看起来不错,但你在哪里卡住了,你需要指定你面临的一些具体瓶颈,以便这里的人可以帮助你。
  • 我也从未写过翻译。因此,如果有任何关于从哪里开始的指示会有所帮助。关于如何与计时器同步。

标签: c# asp.net .net-4.0 transactions oracle10g


【解决方案1】:

这里是基本大纲:

  1. 无论何时检查订单,您都需要触发一个 AJAX 请求,该请求会触发将订单设置为处理中状态。
  2. 在订单表中维护一个最后更新的列,该列现在指示订单进入进行中状态的时间。
  3. #1 的 AJAX 请求应将计时器持续时间和最后更新时间返回给前端 js,以便向用户提供时间指示。 (您需要使用往返时间的一半将服务器日期时间调整为前端日期时间)
  4. 如果未选中订单,则可以触发 AJAX 请求以将订单状态改回可用。
  5. “创建订单”按钮可以触发 AJAX 请求(或传统的 ASP.NET 回发)以将状态标记为已预订。
  6. 让数据库作业定期运行,以便可以根据上次更新后的时间将处理中的订单恢复为可用状态。您可以选择任何其他类型的调度(例如 Windows 调度程序)来进行相同的清理。
  7. #6 应该处理关闭窗口的情况,但您始终可以尝试在关闭原始窗口之前触发在不同窗口(最小化)中进行清理的请求。

ASP.NET 中的 AJAX 和更新 Oracle 数据库是非常重要的事情,您应该能够在网络上找到很多信息/教程。交易也一样——我建议使用TransactionScope 来更轻松地处理交易。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-06
    • 2022-06-29
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多