【发布时间】:2015-11-13 01:24:01
【问题描述】:
我有一个托管在 azure 上的 saas 网络会计应用程序。在一天结束时,用户将不得不关闭书籍。当这个进程运行时,我想允许用户查看数据但不能修改它,因为它可能会干扰进程。关于如何在 web api 中执行此操作的任何建议或指针?这是一个多租户应用程序,因此当用户运行此进程时,只有该用户数据被锁定,而不是整个应用程序。
【问题讨论】:
标签: c# azure asp.net-web-api2 asp.net-web-api
我有一个托管在 azure 上的 saas 网络会计应用程序。在一天结束时,用户将不得不关闭书籍。当这个进程运行时,我想允许用户查看数据但不能修改它,因为它可能会干扰进程。关于如何在 web api 中执行此操作的任何建议或指针?这是一个多租户应用程序,因此当用户运行此进程时,只有该用户数据被锁定,而不是整个应用程序。
【问题讨论】:
标签: c# azure asp.net-web-api2 asp.net-web-api
除非每个用户的数据都是单独存储的,否则在这里使用实际的线程锁定可能没有意义。
但是,在您要修改数据的代码中,您可以检查您在收书代码中设置的变量。每当您开始收书时,将该用户 ID 设置为 true。完成后,将其设置回 false。
(您可能还想在一定时间后检查以确保它恢复为 false,以防万一出现错误不想永久锁定用户)
这样它不会影响您查看数据或锁定任何线程的能力,但是当需要编写任何内容时,您有一个检查可以优雅地返回“请等待书籍关闭过程完成”错误消息。
【讨论】: