草庐IT

c# - .NET 的多线程库

我在一些程序中使用了多线程,但仍然感觉不太舒服。有哪些适用于C#/.NET的多线程库,它们之间有哪些优势?我所说的多线程库是指所有有助于简化多线程编程的东西。您定期使用什么.NET集成(即像ThreadPool)?你遇到了哪些问题? 最佳答案 在应用程序中使用多线程有多种原因:界面响应能力并发操作并行加速应该选择哪种方法取决于您要执行的操作。例如,对于UI响应,请考虑使用BackgroundWorker。对于并发操作(例如,服务器:某些东西必须是并行的,但即使在单核系统上也可能确实需要并发),考虑使用线程池或,如果任务是长期存在的并

c# - AzureStorage 库 v2 中的 "tableClient.CreateTableIfNotExist"在哪里?

在WindowsAzure存储中,我们过去常常这样做来创建一个表:vartableClient=account.CreateCloudTableClient();tableClient.CreateTableIfNotExist(TableName);我刚刚下载了最新版本的azure存储库(v2),我以前的代码不再起作用了:'Microsoft.WindowsAzure.Storage.Table.CloudTableClient'doesnotcontainadefinitionfor'CreateTableIfNotExist'andnoextensionmethod'Create

c# - 在 C# 中使用 C++ 库

我正在尝试在我的C#项目中包含C++库(DLL),但每次我这样做时,我都会在VS2008中收到以下错误消息,有什么建议吗?编辑:这是一个C++MFCDLL---------------------------MicrosoftVisualStudio---------------------------Areferenceto'C:\Users\cholachaguddapv\Desktop\imaging.dll'couldnotbeadded.Pleasemakesurethatthefileisaccessible,andthatitisavalidassemblyorCOMco

c# - Excel 到 PDF C# 库

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我正在寻找MsExcel(.xsl和.xlsx)到PDF转换器/库或API。我想要它用于我的C#.Net应用程序。我喜欢商业图书馆,但负担不起。

c# - NetFramework 应用程序在同一解决方案中引用 NetFramework 库,在另一个解决方案中引用 NetStandard 库。 : could not load file or assembly

关于从.NETFramework项目中引用.NETStandard类库的问题有很多类似的问题,其中netstandard库中的NuGet包依赖项不会流向netframework应用程序,并且Couldnotloadfileorassembly运行时发生错误:存在许多来源,例如下面的来源,表明可以通过添加对netframework项目缺少的依赖项来解决这个问题:https://stackoverflow.com/a/46015829/2704659然而,这是不利的,因为我不想让项目必须携带它们不应该需要的直接引用;依赖关系应该自然流动,以便将来添加/删除的依赖关系正常工作。其他来源表明可

构建正确英语句子的 C# 库

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion我正在开发C#应用程序。我需要正确地构造英语句子。我会给它名词动词和宾语,我需要构建一个正确的英语短语。例如,我希望做这样的事情:PhraseBuilderp=newPhraseBuilder();p.Subject("Tom");p.Verb("eat");p.Object("theapple");然后使用p.BuildPhrase()我需要将其作为输出:Tomea

c# - 在 Entity Framework 5 Code First 中覆盖 SaveChanges 以复制旧遗留库的行为

我们公司发布了一套各种操作数据库中数据的应用程序。每个应用程序都有其特定的业务逻辑,但所有应用程序共享一个公共(public)的业务规则子集。常见的东西被封装在一堆用C++编写的遗留COMDLL中,它们使用“经典ADO”(它们通常调用存储过程,有时它们使用动态SQL)。这些DLL中的大多数都有基于XML的方法(更不用说基于专有格式的方法!)来创建、编辑、删除和检索对象,还有额外的操作,例如快速复制和转换许多实体的方法。中间件DLL现在很旧,我们的应用程序开发人员想要一个新的面向对象(而不是面向xml)的中间件,它可以被C#应用程序轻松使用。公司里的很多人说我们应该忘记旧的范式,转向新的

c# - 任务并行库中的任务如何影响ActivityID?

在使用任务并行库之前,我经常使用CorrelationManager.ActivityId来跟踪多线程的跟踪/错误报告。ActivityId存储在线程本地存储中,因此每个线程都有自己的副本。这个想法是,当你启动一个线程(事件)时,你分配一个新的ActivityId。ActivityId将与任何其他跟踪信息一起写入日志,从而可以为单个“事件”挑出跟踪信息。这对于WCF非常有用,因为ActivityId可以转移到服务组件。这是我正在谈论的例子:staticvoidMain(string[]args){ThreadPool.QueueUserWorkItem(newWaitCallback(

c# - 任务并行库 - LongRunning 任务与多个 Continuations

我正在研究TaskParallelLibrary在我正在进行的工作项目中的使用情况,并且想了解长时间运行任务的优点/缺点。我还没有真实的例子,只是想了解这背后的理论。根据MSDN页面关于taskschedulers的说法还有这个SOquestion,似乎最好尽可能避免长时间运行的任务,这样您就不会在ThreadPool之外创建线程。但是假设您确实有一项需要很长时间才能完成的任务,而不是这样:Task.Factory.StartNew(()=>DoTimeConsumingWork(),TaskCreationOptions.LongRunning)您能否尝试将您的工作拆分为更小、更快的

c# - 现在开始为任务并行库设计是否为时过早?

自从Microsoft首次宣布.NET任务并行库(TPL)以来,我一直以极大的兴趣关注它的开发。我坚信我们最终会利用TPL。我想问的是,在VisualStudio2010和.NET4.0发布时开始利用TPL是否有意义,或者再等一段时间是否有意义。为什么现在开始?.NET4.0任务并行库似乎设计得很好,一些相对简单的测试表明它在当今的多核CPU上运行良好。自大约七年前购买我的第一台四处理器DellPoweredge6400以来,我一直对使用多个轻量级线程来加速我们的软件的潜在优势非常感兴趣。当时的实验表明这是不值得的,我主要将其归因于在每个CPU的缓存(当时没有共享缓存)和RAM之间移动