小编Gun*_*Gun的帖子

将Silverlight应用程序转换为WPF

我需要将Silverlight应用程序转换为WPF(最后在Microsoft Surface 1.0上运行它).

我没有写出原始解决方案,而且非常大.我从未使用过Silverlight,而且我对WPF有点熟悉.

你能否就完成这个项目提出一些建议?

这是我目前的计划(高级别观点):

  • 在WPF中重新创建所有Silverlight项目(Silverlight中的用户控件= WPF用户控件库?)
  • 引用不一样所以我需要做一些改变......我想:)
  • 希望所有控件都与WPF兼容......

我错过了什么大事吗?有什么不对吗?不完整?

我愿意接受你的所有建议和建议!

任何开发技巧?

silverlight wpf

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

C# 并行 Foreach + 异步

我正在处理一个项目列表 (200k - 300k),每个项目的处理时间在 2 到 8 秒之间。为了赢得时间,我可以并行处理这个列表。当我处于异步上下文中时,我使用如下内容:

public async Task<List<Keyword>> DoWord(List<string> keyword)
{
    ConcurrentBag<Keyword> keywordResults = new ConcurrentBag<Keyword>();
    if (keyword.Count > 0)
    {
        try
        {
            var tasks = keyword.Select(async kw =>
            {
                return await Work(kw).ConfigureAwait(false);
            });

            keywordResults = new ConcurrentBag<Keyword>(await Task.WhenAll(tasks).ConfigureAwait(false));
        }
        catch (AggregateException ae)
        {
            foreach (Exception innerEx in ae.InnerExceptions)
            {
                log.ErrorFormat("Core threads exception: {0}", innerEx);
            }
        }
    }
    return keywordResults.ToList();
}
Run Code Online (Sandbox Code Playgroud)

关键字列表始终包含 8 个元素(来自上面),因此我按 8 个逐个处理列表,但在这种情况下,我猜测如果 3 秒内处理 7 个关键字,10 秒内处理第 8 个关键字,则总时间8 个关键字将是 10 个(如果我错了,请纠正我)。从那时起我该如何应对Parallel.Foreach …

c# parallel-processing multithreading

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