小编Noa*_*ahl的帖子

让漂亮不那么丑 - 防止分裂标签

Prettier在 VS Code 中很棒,除了在这种情况下它似乎使事情变得不那么可读。这是 Vue 模板文件中 prettier 包装行为的示例:

在此处输入图片说明

请注意,开始标记的结束括号放置在第二行的开头,结束标记在第 2 行和第 3 行的结尾之间分开。在我看来,这更漂亮:

在此处输入图片说明

现在标签在他们自己的行上是完整的,内容单独在第 2 行。

我一直无法在更漂亮的文档中找到配置它的方法。有哪位忍者知道吗?

vue.js visual-studio-code prettier

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

使用 OFFSET 和 LIMIT 的 Cosmos DB 分页性能

我正在创建一个基于 Cosmos DB 和 ASP.NET Core 3.0 的 API。使用 Cosmos DB 4.0 预览版 1 .NET Core SDK。我使用 OFFSET 和 LIMIT 子句实现了分页。我发现 RU 费用随着页数的增加而显着增加。页面大小为 100 项的示例:

Page 1: 9.78 RU
Page 10: 37.28 RU
Page 100: 312.22 RU
Page 500: 358.68 RU
Run Code Online (Sandbox Code Playgroud)

查询很简单:

SELECT * from c OFFSET [页*尺寸] LIMIT [尺寸]

我做错了什么,还是这是预期的?OFFSET是否需要扫描整个逻辑分区?我正在查询分区中包含大约 10000 个项目的单个分区键。看起来分区中的项目越多,性能就越差。(另请参阅“Russ”在用户声音中对此功能的评论)。

有没有更好的方法来实现整个分区的高效分页?

编辑 1:另外,我注意到在具有 10,000 个项目的分区中执行 OFFSET/LIMIT 时,在 Cosmos 模拟器中执行查询也会减慢 waaayyy 的速度。

编辑2:这是我的查询存储库代码。本质上,它包装了 Container.GetItemQueryStreamIterator() 方法并在处理 IAsyncEnumerable 时拉出 RU。查询本身就是上面的 SQL 字符串,没有 LINQ 或其他神秘的东西。

public async Task<RepositoryPageResult<T>> GetPageAsync(int? …
Run Code Online (Sandbox Code Playgroud)

azure-cosmosdb

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

读取流:Byte[] vs Memory&lt;Byte&gt; vs Span&lt;Byte&gt;

以下之间的根本区别是什么:

var buffer = new byte[8192];
var bytesRead = Stream.Read(buffer, 0, buffer.Length);
Run Code Online (Sandbox Code Playgroud)
var buffer = new byte[8192];
var span = new Span<byte>(buffer);
var bytesRead = Stream.Read(span);
Run Code Online (Sandbox Code Playgroud)
var buffer = new byte[8192];
var memory = new Memory<byte>(buffer);
var bytesRead = Stream.ReadAsync(memory).Result;
Run Code Online (Sandbox Code Playgroud)

排除一个明显的事实,即它们都是不同的对象类型,并且唯一Stream.Read()接受 a 的方法当然Memory<Byte>是。ReadAsync()

为什么我会选择其中任何一个byte[]Span<byte>Memory<byte>不是其他,我将如何决定什么最适合我的情况?

.net c# .net-core

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

控制应用程序见解javascript注入

Visual Studio和Azure中的Application Insights扩展似乎会自动为页面视图跟踪注入javascript片段,即使文档说您使用应用程序设置键"APPINSIGHTS_JAVASCRIPT_ENABLED"= true启用此功能.

其他文档展示了如何在我的布局视图中添加相同的javascript,我做了.结果我现在看到AI javascript两次,一次来自我的观点,一次来自AI魔术.我更喜欢自己控制 - 如何防止工具修改页面以注入脚本?将APPINSIGHTS_JAVASCRIPT_ENABLED设置为false似乎不起作用.

我正在使用ASP.NET Core 2.0 Web应用程序.

azure azure-web-sites azure-application-insights asp.net-core

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

使用转换器初始化 JsonSerializerOptions

我想从 System.Text.Json创建JsonSerializerOptions的静态实例。该实例应该有一个自定义的转换器列表。所以,我的倾向是:

static readonly JsonSerializerOptions serializerOptions = new JsonSerializerOptions
{
    // Error - Converters cannot be assigned to
    Converters = new[] { new DateTimeOffsetConverter() }
};
Run Code Online (Sandbox Code Playgroud)

文档显示了在实例存在后如何添加转换器,例如Add

var serializeOptions = new JsonSerializerOptions();
serializeOptions.Converters.Add(new DateTimeOffsetConverter());
Run Code Online (Sandbox Code Playgroud)

对于静态字段有什么优雅的想法吗?

c# .net-core system.text.json

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

C# switch 表达式不正确的可空性

我注意到,当使用包含 null 检查作为范围表达式的switch 表达式时,arms/cases 中值的可为空状态在 Visual Studio (16.7.6) 中无法正确解释。例如:

string? value = GetSomeString();
var description = (value != null) switch
{
    true when value.Length == 0 => "Empty",
    true when value.Length == 1 => "Uno",
    true when value.Length == 3 => "Third time's a charm",
    _ => "null"
};
Run Code Online (Sandbox Code Playgroud)

在这里,我希望知道 switch 块中的所有实例value都不为空(考虑到我们要打开的条件)。最后/默认情况处理空情况。然而,Visual Studio 认为第一个实例可能为空:

在此输入图像描述

我是否做错了什么,这是分析仪的错误还是其他原因?

c# visual-studio

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