小编Eri*_*ell的帖子

Blazor wasm 调用javascript,传递大数组很慢

我有一个 blazor wasm 应用程序。因为我正在调用一个接收双精度数组的 javascript 函数。这很慢,尤其是当数组很大时。

有关测试,请参阅以下代码:

javascript(“test.js”):

function testSumArray(array) {
    var t0 = performance.now();
    sumArray(array);
    var t1 = performance.now();
    console.log('From JS, time to sum: ' + (t1 - t0) / 1000 + ' s');
}

function sumArray(array) {
    var i;
    var s = 0;
    for (i = 0; i < array.length; i++) {
        s += array[i];
    }
    return s;
}
Run Code Online (Sandbox Code Playgroud)

和 C# 代码(index.razor):

@page "/"
@inject IJSRuntime JSRuntime;

@using System.Text
@using BlazorWasmOnlyTest.Shared
<h1>Hello, world!</h1>

Welcome to your new app. …
Run Code Online (Sandbox Code Playgroud)

javascript performance blazor blazor-webassembly

5
推荐指数
1
解决办法
1486
查看次数

Blazor 在没有文件的情况下播放生成的声音

在 Blazor 项目中,我生成声音/噪声信号作为 @DanW 的粉红噪声示例,该示例生成double[]值在 -1.0 - 1.0 之间的 。是否可以在浏览器中直接播放该数组作为音频?到目前为止,我所发现的有关声音/音频和浏览器的所有内容都是从现有文件中播放音频。

编辑:我正在使用 C# 中的一些本机 dll 进行一些过滤,并且在 C# 中比在 javascript 中更舒服,因此尝试在 C# 而不是 javascript 中完成大部分工作。

html javascript audio web-audio-api blazor

5
推荐指数
1
解决办法
1158
查看次数

当 HTTPGET https://localhost/ 时绕过代理

我有一个从 Visual studio 2019 (Ctrl+F5) 运行的 asp.net core 3.1 Web 服务器。它有一个 HTTP GET 端点,我可以在 VS Code 中使用 REST 客户端成功调用该端点:

GET https://localhost:5001/api/myResource
Run Code Online (Sandbox Code Playgroud)

然后我尝试开发一个从控制台运行的服务工作者(也是.net core 3.1),并且该调用是相同的资源。就像这样..

httpClient = new HttpClient();
var responseHTTP = await httpClient.GetAsync("https://localhost:5001/api/myResource");
Run Code Online (Sandbox Code Playgroud)

然后我得到的响应是来自我公司代理的错误消息(指出禁止访问 bla bla bla)以及实际发布的地址(响应内容的一部分):

尝试检索 URL 时:localhost.mycompany.com:5001

因此它添加了

mycompany.com

到我在中提供的地址httpClient.GetAsync()

我尝试在 Windows 设置中禁用代理(包括删除环境变量)并重新启动控制台和本地网络服务器。但它仍然通过代理(或者我从代理得到相同的禁止答案)。有没有办法绕过代理?我看过的所有问题和答案都是相反的,让 httpClient 使用代理。

console http http-get service-worker asp.net-core

4
推荐指数
1
解决办法
6324
查看次数

DotNetCoreCLI 还原与 NuGetCommand 还原

我试图了解 Azure 构建管道中两个 nuget restore 命令之间的区别:

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'
Run Code Online (Sandbox Code Playgroud)

- task: DotNetCoreCLI@2
  inputs:
    command: 'restore'
    projects: '$(solution)'
    feedsToUse: 'select'
Run Code Online (Sandbox Code Playgroud)

我试图理解,但在微软页面上,我所看到的是可以同时使用两者 - 我真的找不到任何说明差异的内容。(我也不是很明白这个feedsToUse: 'select'说法)

而且,作为第二个问题,后者和

- task: DotNetCoreCLI@2
  inputs:
    command: restore
    projects: '**/*.csproj'
Run Code Online (Sandbox Code Playgroud)

鉴于该解决方案包含所有 csproj(并且仅包含 csproj)?

azure azure-pipelines-build-task azure-pipelines azure-pipelines-yaml

2
推荐指数
1
解决办法
1084
查看次数