在这种情况下预期的是,如果用户通过按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
我想从VB日期对象中减去18年.
这是代码示例:
Dim someVar
DirectCast(pcontrol, DateTimePicker).Value = Date.Now.Subtract(someVar)
Run Code Online (Sandbox Code Playgroud)
someVar值是?
ASP.NET 核心的默认实现Guid用作用户和角色表的主键。
我在这里担心的是,在 DB 设计过程中,开发人员经常需要将实体链接到用户 ID 作为外键,例如添加ModifiedBy和CreatedBy列进行审计,在这种情况下,外键将nvarchar(450)是远非有效的int执行JOINs 和其他类型的查询时的主键。
我知道我可以将身份核心配置为使用自定义主键类型,例如int,但出于安全考虑,我是否应该坚持默认配置(我不是安全专家)?
JOIN与int外键相比,字符串外键上的 s也不是非常慢(加上主键是 an 的组合,nvarchar这使得情况更糟)?
PS:在 ASP.NET 核心的上下文之外,我一般不会首先使用代码或 EF
asp.net-identity entity-framework-core .net-core asp.net-core