确保某些操作曾经在本地机器上执行过的跨平台方式

Cross platform way to make sure some operation was ever executed on local machine

我正在开发跨平台 .net 标准 2.0 库(针对 Windows、iOS、Android)。

有些操作我需要在本地计算机上只执行一次

If (!MethodAExecuted)
{
    MethodA();
    MethodAExecuted = true;
}

我可以做些什么来以跨平台的方式实现这种行为?

我唯一能想到的就是有一个网络服务端点,而不是:

MethodAExecuted = true

您可以调用 Web 服务来设置状态,然后调用另一个 Web 服务来确定状态是否已设置。这将完全独立于平台,因为它将基于开放标准。每个平台上的实现只需遵守 Web 服务的 WSDL 中的约定。

注意:您如何处理计时、并发等事情取决于您。但由于对 Web 服务的调用是独立于平台的,您可以在每个平台的基础上对其进行定制。