小编Taw*_*feh的帖子

CancellationTokenSource的行为不符合预期

在这种情况下预期的是,如果用户通过按Enter键取消任务,则挂起的另一个任务ContinueWith将运行,但事实并非如此,AggregateException尽管显式处理ContinueWith显然没有被执行,但仍保持抛出.
请问下面的任何澄清?

class Program
{
    static void Main(string[] args)
    {
        CancellationTokenSource tokensource = new CancellationTokenSource();
        CancellationToken token = tokensource.Token;

        Task task = Task.Run(() =>
        {
            while (!token.IsCancellationRequested)
            {
                Console.Write("*");
                Thread.Sleep(1000);
            }
        }, token).ContinueWith((t) =>
        {
            t.Exception.Handle((e) => true);
            Console.WriteLine("You have canceled the task");
        }, TaskContinuationOptions.OnlyOnCanceled);

        Console.WriteLine("Press any key to cancel");
        Console.ReadLine();
        tokensource.Cancel();
        task.Wait();
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading task-parallel-library cancellation-token

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

减去vb中的时间

我想从VB日期对象中减去18年.
这是代码示例:

Dim someVar
DirectCast(pcontrol, DateTimePicker).Value = Date.Now.Subtract(someVar)
Run Code Online (Sandbox Code Playgroud)

someVar值是?

vb.net

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

ASP.NET Core Identity 主键性能问题

ASP.NET 核心的默认实现Guid用作用户和角色表的主键。

我在这里担心的是,在 DB 设计过程中,开发人员经常需要将实体链接到用户 ID 作为外键,例如添加ModifiedByCreatedBy列进行审计,在这种情况下,外键将nvarchar(450)是远非有效的int执行JOINs 和其他类型的查询时的主键。

我知道我可以将身份核心配置为使用自定义主键类型,例如int,但出于安全考虑,我是否应该坚持默认配置(我不是安全专家)?

JOINint外键相比,字符串外键上的 s也不是非常慢(加上主键是 an 的组合,nvarchar这使得情况更糟)?

PS:在 ASP.NET 核心的上下文之外,我一般不会首先使用代码或 EF

asp.net-identity entity-framework-core .net-core asp.net-core

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