小编Cha*_*ime的帖子

通过参数传递任何函数

解释

你好,我想创建一个可以执行任何类型函数的函数,在执行结束时指示它所花费的时间。被调用的函数可以有一个或没有返回值,以及 0 个或多个任何类型的参数。

调用函数必须打印如下内容:

Running "myFunction" .....  
Done ! (5210ms)
Run Code Online (Sandbox Code Playgroud)

基本上我想创建一个函数,通过在调用前后添加代码来调用作为参数传递的任何类型的函数。

我做了什么

现在我是这样做的。

调用函数:

Running "myFunction" .....  
Done ! (5210ms)
Run Code Online (Sandbox Code Playgroud)

主要的

template <typename T>
T callFunctionPrintTime(std::string fnName, std::function<T()> fn) {
    std::cout << ">> Running " << fnName << " ... " << std::endl;
    auto t1 = std::chrono::high_resolution_clock::now();

    //Call to the target function
    T retVal = fn();

    auto t2 = std::chrono::high_resolution_clock::now();
    auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(t2 - t1).count();

    std::cout << "Done ! (" << duration << " ms)" << std::endl;

    return …
Run Code Online (Sandbox Code Playgroud)

c++ lambda function

6
推荐指数
1
解决办法
96
查看次数

如何在 Blazor WebAssembly-PWA 中将本地数据同步到服务器?

我想构建一个可以离线运行的 Blazor WebAssembly 渐进式 Web 应用程序。
我今天早上开始使用 Blazor,我只是想掌握它的窍门。

首先,我想做一些类似keep.google.com 的事情。您可以在不同的设备上离线处理笔记,重新建立连接后,所有笔记都会在后台与服务器同步。

我的想法是在服务器上有简单的注释,id带有titlemessage。这些注释可以从客户端显示和添加/修改。由于我希望应用程序能够离线工作,因此我希望同步过程如下:

  • 第一次访问网站时,所有笔记都是从服务器获取的,
  • 添加/修改注释时,它们会保存在服务器上,
  • 如果连接丢失,仍然可以在本地阅读和添加/修改笔记,
  • 当重新建立连接时,修改将保存到服务器,
  • 定期或按下按钮后,客户端和服务器之间会进行同步,以获取服务器上存在的新数据。

我认为做到这一点的方法是在本地拥有数据库的副本。客户端对本地数据库进行修改,并定期/按下按钮后/重新建立连接时,我将本地数据库与服务器数据库同步。

我确信有一个官方且简单的解决方案可以做到这一点。我遵循Microsoft 的CarChecker示例,但他们使用 JavaScript 中的 IndexedDB 来做到这一点(官方教程视频中的 23 分钟 13 )。
您知道在本地存储数据并在后台与服务器同步的 .NET 解决方案/教程/服务吗?

.net c# progressive-web-apps blazor blazor-webassembly

3
推荐指数
1
解决办法
1327
查看次数