小编dra*_*ons的帖子

.net 应用程序的 gitlab ci/cd 中的代码覆盖率?

我最近开始使用C#我们现有的一个遗留系统。我试图弄清楚这个遗留系统的代码覆盖率是多少。这是我的Sample.UnitTests.csproj文件:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>

    <IsPackable>false</IsPackable>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="AutoFixture.AutoMoq" Version="4.2.1" />
    <PackageReference Include="AutoFixture.NUnit3" Version="4.2.1" />
    <PackageReference Include="coverlet.msbuild" Version="2.9.0">
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
    <PackageReference Include="Moq" Version="4.8.2" />
    <PackageReference Include="nunit" Version="3.9.0" />
    <PackageReference Include="NUnit3TestAdapter" Version="3.9.0" />
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
    <PackageReference Include="WireMock.Net" Version="1.0.4.17" />
    <PackageReference Include="Utf8Json" Version="1.3.7" />
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="System.Buffers" Version="4.5.0" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="../Sample/Sample.csproj" />
  </ItemGroup>

<ItemGroup>
  <DotNetCliToolReference Include="dotnet-reportgenerator-cli" Version="4.2.10" />
</ItemGroup>

</Project>
Run Code Online (Sandbox Code Playgroud)

我做了一些研究,发现我们可以使用coverlet它来生成cobertura样式报告。我完全按照我的 …

c# code-coverage gitlab-ci asp.net-core coverlet

7
推荐指数
2
解决办法
9190
查看次数

在 C# 中正确使用取消令牌

我最近接触了 C# 语言,并致力于从 cassandra 中获取数据,因此我正在使用下面的代码从 Cassandra 中获取数据并且工作正常。

我唯一的问题是我的ProcessCassQuery方法 - 我传递CancellationToken.None给我的requestExecuter函数,这可能不是正确的做法。处理这种情况的正确方法应该是什么?我应该怎么做才能正确处理?

/**
 *
 * Below method does multiple async calls on each table for their corresponding id's by limiting it down using Semaphore.
 *
 */
private async Task<List<T>> ProcessCassQueries<T>(IList<int> ids, Func<CancellationToken, int, Task<T>> mapperFunc, string msg) where T : class
{
    var tasks = ids.Select(async id => 
    {
        await semaphore.WaitAsync();
        try
        {
            ProcessCassQuery(ct => mapperFunc(ct, id), msg);
        }
        finally
        {
            semaphore.Release();
        }
    });

  return (await …
Run Code Online (Sandbox Code Playgroud)

c#

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

“PER PARTITION LIMIT”在cassandra的cql查询中是什么意思?

我有一个 scylla 表,如下所示:

cqlsh:sampleks> describe table test;

CREATE TABLE test (
    client_id int,
    when timestamp,
    process_ids list<int>,
    md text,
    PRIMARY KEY (client_id, when) ) WITH CLUSTERING ORDER BY (when DESC)
    AND bloom_filter_fp_chance = 0.01
    AND caching = {'keys': 'ALL', 'rows_per_partition': 'ALL'}
    AND comment = ''
    AND compaction = {'class': 'TimeWindowCompactionStrategy', 'compaction_window_size': '1', 'compaction_window_unit': 'DAYS'}
    AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}
    AND crc_check_chance = 1.0
    AND dclocal_read_repair_chance = 0.1
    AND default_time_to_live = 0
    AND gc_grace_seconds = 172800
    AND max_index_interval = 1024
    AND …
Run Code Online (Sandbox Code Playgroud)

cassandra cqlsh scylla

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

了解 Cassandra 池选项(setCoreConnectionsPerHost 和 setMaxConnectionsPerHost)?

最近,我开始与卡桑德拉工作,我正在读更多的连接池这里。我对池大小感到困惑,无法理解这是什么意思:

poolingOptions
    .setCoreConnectionsPerHost(HostDistance.LOCAL,  4)
    .setMaxConnectionsPerHost( HostDistance.LOCAL, 10)
    .setCoreConnectionsPerHost(HostDistance.REMOTE, 2)
    .setMaxConnectionsPerHost( HostDistance.REMOTE, 4)
    .setMaxRequestsPerConnection(2000);
Run Code Online (Sandbox Code Playgroud)

以下是我想详细了解的内容:

  1. 我想知道什么呢setCoreConnectionsPerHostsetMaxConnectionsPerHostsetMaxRequestsPerConnection手段?
  2. 什么是LOCALREMOTE这里的意思?

如果有人可以用一个例子来解释,那么它真的会帮助我更好地理解。

我们在一个 DC 中有 6 个节点集群,RF 为 3,我们作为本地仲裁读/写。

cassandra datastax-java-driver

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

如何避免每次打开 iterm 终端时显示一堆“[oh-my-zsh]”消息?

每当我启动 iterm 终端时。我总是在终端上收到此消息,然后出现提示。

\n\n
Last login: Fri May  1 21:33:59 on ttys001\n[oh-my-zsh] plugin \'zsh-syntax-highlighting\' not found\n[oh-my-zsh] plugin \'zsh-autosuggestions\' not found\n[oh-my-zsh] Insecure completion-dependent directories detected:\ndrwxrwxr-x  7 david  admin  224 Apr 30 22:22 /usr/local/share/zsh\ndrwxrwxr-x  6 david  admin  192 Apr 30 23:30 /usr/local/share/zsh/site-functions\n\n[oh-my-zsh] For safety, we will not load completions from these directories until\n[oh-my-zsh] you fix their permissions and ownership and restart zsh.\n[oh-my-zsh] See the above list for directories with group or other writability.\n\n[oh-my-zsh] To fix your permissions you can do so by …
Run Code Online (Sandbox Code Playgroud)

zsh iterm2 oh-my-zsh

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

如何在 C# 中添加超时并重试 url 调用?

我有一个.tgz文件,我需要下载一个Testing文件夹内的 url 。我可以.tgz使用 .url 从 url 成功下载文件WebClient

下面是我的代码:

private void DownloadTGZFile(string url, string fileToDownload)
{
    using (var client = new WebClient())
    {
        client.DownloadFile(url + fileToDownload, "Testing/configs.tgz");
    }
}
Run Code Online (Sandbox Code Playgroud)

我想看看如何为这个调用添加超时,以便如果 url 在特定时间内没有响应,那么它应该超时但它可以重试 3 次然后放弃。另外我想看看我如何HttpClient在这里使用而不是WebClient考虑它是一个较旧的 BCL 类而不推荐。

c# dotnet-httpclient polly

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