【发布时间】:2016-09-30 23:24:19
【问题描述】:
我有一点理论问题。
创建 Web 应用程序时,桌面应用程序与数据库的有效连接和活动连接有所不同。所以我很好奇是否有一些解决方案可以提供更多类似桌面的数据库访问,例如来自客户端(Web 浏览器)的异步请求的事务处理?
编辑: 所以我发现,可以有一个来自客户端的异步请求的事务过程。有没有可以在网络应用程序中提供的解决方案?
例如,我有 assynchronou ajax 调用,它由多个操作组成,我想将它们作为事务处理。如果一切正常,则操作将全部完成。但如果其中一个失败,只需回滚它。就像它在数据库中一样。有可能吗?
edit2: 可能我错了,问题不在于 ajax,而在于整个 Web 应用程序,但我认为没有办法从 Web 客户端发出异步请求。
【问题讨论】:
-
它们的行为完全相同。我的意思是,确切地说。完全准确。即使是异步的东西。您的控制器方法可以返回一个 Task
并异步等待所有内容。 -
@Will 很抱歉,但我不确定。创建桌面应用程序时,您很有可能与数据库的连接正常。更少的延迟,没有网络应用程序中的互联网错误问题。还有数据库的质量?我不确定我是否可以将 mysql 与 e.g. 进行比较。微软的?在可靠性方面?或者类似的东西,如果你知道我的想法
-
那里。是。编号差异。
-
@Will 对不起我可能很傻,但是数据库事务呢?让数据库处于一致状态?如果我从 ajax 触发事务,并且有错误需要我以某种方式处理吗?还是 ajax 足够聪明? (对不起我这么悲观)
-
那里。是。没有。区别。 在 ajax 调用期间如何处理异常取决于您。如果您放开它们,调用将返回 500 错误。如果这不适合您,请抓住并返回其他东西。
标签: asynchronous web-applications transactions desktop-application