小编som*_*guy的帖子

可变字体托管、语法以及为什么 Google 不提供用于自托管可变字体的 WOFF2 下载?

我在这里不知所措。尝试将 google 变量 webfont (open sans) 添加到我的网站。

  1. 选择字体时,谷仅创建<link>静态CSS 字体。为什么?(分号,没有“300..700”)

在网络上使用

要嵌入字体,请将代码复制到 html 中

[x] <link>    [ ] @import
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)

用于指定族的 CSS 规则

font-family: 'Open Sans', sans-serif;
Run Code Online (Sandbox Code Playgroud)
  1. 整个页面上都没有 woff2 的下载(仅来自 API)。D/L 按钮仅适用于 .ttf。具有讽刺意味的是,在有关自托管的文章woff2中,他们使用了作为示例,即使他们不提供它。此外,甚至该字体的官方 GITHUB页面也只提供 .ttf。为什么?

  2. 其他来源提供了各种格式的静态文件(但我在那里没有看到可变的文件),另一个线程中的 ppl 甚至发布了他们自己的工具,例如:

  1. 折腾了一整天,终于找到了这个。还提到了另一个(官方)工具,用于将 ttf 转换为 woff2,这对于可变字体来说似乎不容易实现。SRSLY?这是唯一的方法吗?为什么没有任何文档?(好吧,也许我应该从 API 中获取 woff2,但我注意到浏览器之间存在差异,我认为例如 Opera gets …

css fonts google-webfonts

6
推荐指数
0
解决办法
372
查看次数

请详细解释 Blazor SignalR / 电路超时

搜索主题:

在上面的文章中,如果看到设置超时的示例。而且文档还解释了客户端和服务器端,每个 ofc 都可能突然崩溃/关闭,或者网络可能被切断等。所以双方似乎都有超时来做不同的事情,比如“向下”(=试图重新连接),最后“关闭”。所以...

问题#1:如何分别为客户端和服务器设置所有(至少 4 个)超时(包括保持活动状态)?

SO帖子显示了JS的答案和program.cs中的答案,有什么区别?它实际上是服务器/客户端吗?客户端启动时可以用C#设置还是需要用JS设置?如果是这样,相关文档在哪里?

问题#2:如何知道服务器端超时?

我从默认模板 (.NET 6) 创建了一个全新的 Blazor 服务器项目,并添加了 SO 帖子中的代码以查看所有电路。当我在 LAN 中运行它并且客户端(其他 PC)打开 Clicker,然后将 PC 置于完全休眠状态时,我看到了该OnConnectionDownAsync事件,但即使在 2 分钟后,也没有OnCircuitClosedAsync(它实际上也有效。之后打开 PC 2mins 实际上会让浏览器重新连接并OnConnectionUpAsync自动启动,无需OnCircuitOpenedAsync)。为什么?超时时间真的很长吗?我在哪里可以读取默认超时的变量,在哪里设置它?服务器保留线路信息多长时间,以便客户端可以重新连接?这不是 5 秒(请参阅上面的链接)。

更新:另一项测试确认断开连接超时似乎正好是 3 分钟(180 秒)。现在我需要了解如何设置它。注意:似乎不是options.WebSockets.CloseTimeout

也不是options.ClientTimeoutInterval

文档说了一些关于

Application_Start在你的Global.asax

我从未读过相关内容。那是什么?这实际上是针对 Blazor 还是其他一些 ASP.NET 项目类型。这是唯一(正确)的方法吗?[编辑:它适用于较旧的框架,而不是 ASP.NET Core 6+]

问题 #3:提到的 5 秒超时是多少?它的观察。服务器完全关闭之前不会超时。

问题 #4AddHubOptions :...和MapBlazorHub...options...之间有什么区别?

从这里 …

signalr blazor asp.net-core-6.0

5
推荐指数
0
解决办法
2097
查看次数

为什么 Intellicode '... is not null' 当它明显为空时?

编辑:

感谢 canton7,我将研究可空引用类型,因为这是此处显示的 C# 8 功能。

编辑2:

TL;DR:消息“'_products' 此处不为空”。纯粹基于变量_products定义。如果它被定义为可空引用类型,它会说“这里可能为空”,如果它被定义为非可空引用类型(=正常,基本定义,不带“?”),它会说,显示在下图。这两种情况都只是提示/警告,不会改变编译后的代码。

原问题:

调用方法:

protected override async Task OnInitializedAsync() //ignore the Polymorphism
{
    _products = await ProdService.GetProductListAsync();
    Console.WriteLine("_products: " + _products + " | is null?: " + (_products == null));
//output: <<_products:   is null? True>>
}
Run Code Online (Sandbox Code Playgroud)

图像:

在此输入图像描述

调用方法:

public async Task<List<Product>> GetProductListAsync()
{
    return null;
}
Run Code Online (Sandbox Code Playgroud)

图像:

在此输入图像描述

c# nullable-reference-types

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