草庐IT

one-class任务

全部标签

c# - 有没有一种简单的方法可以返回异常的任务?

我的理解是returnTask.FromResult(foo)是以下内容的简单简写:vartcs=newTaskCompletionSource();tcs.SetResult(foo);returntcs.Task;返回异常状态的任务是否有一些等价物?vartcs=newTaskCompletionSource();tcs.SetException(newNotSupportedException());//orwhateverisappropriatereturntcs.Task;我没有看到类似Task.FromException的内容。还是只抛出异常而不返回任务更合适?

c# - 错误 "A template containing a class feature must end with a class feature"

我在VisualStudio2010下开发C#T4预处理模板时遇到以下编译错误:Atemplatecontainingaclassfeaturemustendwithaclassfeature 最佳答案 错误是由最后一个#>后的不可见空格引起的同样重要的是要记住,不可见的空格可能会导致其他难以理解的编译错误。如果您想查看更大的图片,请查看以下链接:AgoodexampleAgoodexplanaton,通过RyanPugh既然您已经意识到处理文本模板时不可见空间的危害有多大,我的建议是:让它们可见。如果您不知道如何操作,请参阅Jee

c# - 单击选择性粘贴时如何在 visual studio 2012 中显示 "paste Json class"?

我正在尝试使用vs2012中过去的特殊功能,以便为我的Json数据生成c#类。我从Nuget从NewtonSoft下载了Json.New,然后添加了一个新的.cs类,将我的json数据复制到剪贴板,但是当我转到“编辑”->“选择性粘贴”->我只能看到:“将XML粘贴为类”仅粘贴JsonasClasses功能未显示。有什么建议么?提前谢谢你这就是我得到的,请注意我已经安装了Newtonsoft.Json:(来源:indevcogroup.com) 最佳答案 我创建了一个新项目,安装了Newtonsoft.Json并添加了一个类。如果您

C# - 更改任务栏的图标

我想更改我软件任务栏上的图标,所以我更改了项目设置。此路径由VisualStudio本身建议但我的任务栏仍然显示与以前相同的图标(标准图标)-在我的资源管理器中,.exe具有正确的图标,只是不会在任务栏中更改。我还尝试结束explorer.exe并重新启动任务,但这根本没有帮助。我还尝试将分辨率设置为16x16和32x32,但均无效。 最佳答案 您还需要为表单提供该图标。应用程序图标是嵌入在应用程序中并显示在资源管理器或快捷方式上的图标。不过,每个表单都可以有自己的图标。 关于C#-更改

c# - Visual Studio 2013 中的自定义 "One ASP.NET"项目模板

目标:将项目模板集成到VisualStudio2013的“OneASP.NET”集合中。背景:“待分发”项目作为一个新的ASP.NETWeb应用程序项目开始,使用Empty模板和MVC和WebAPI“文件夹和引用”检查。从那里我添加了我的爱和感情,并使用了导出模板。zip位于MyDocuments>VisualStudio2013>MyExportedTemplates.如果您让VisualStudio为您安装模板,则会在MyDocuments>VisualStudio2013>Templates>ProjectTemplates中放置一个重复的zip。.这是问题开始的地方......

c# - 在 TPL 中中止长时间运行的任务

我们的应用程序使用TPL来序列化(可能)长时间运行的工作单元。工作(任务)的创建是用户驱动的,可以随时取消。为了拥有一个响应式的用户界面,如果不再需要当前的工作,我们想放弃我们正在做的事情,并立即开始一个不同的任务。任务排队是这样的:privateTaskworkQueue;privatevoidDoWorkAsync(Actioncallback,CancellationTokentoken){if(workQueue==null){workQueue=Task.Factory.StartWork(()=>DoWork(callback,token),token);}else{wor

c# - 带有 yield 返回的异步任务<IEnumerable>?

以下方法无法编译。替代方案?publicstaticasyncTask>GetRecordsAsync(thisTransactiontransaction,stringcommandText,paramsSqlParameter[]parameters){//GetaSqlDataReadervarreader=awaittransaction.GetReaderAsync(commandText,parameters);varfieldCount=-1;//Beginiteratingthroughrecordsasynchronouslywhile(awaitreader.Rea

c# - LINQ 到 SQL : Delete entity (by ID) with one query

我使用LINQToSQL已经有一段时间了,当谈到从数据库中删除实体时,我总是调用表的.DeleteOnSubmit并传入实体。有时我发现自己在写类似这样的东西:db.Users.DeleteOnSubmit(db.Users.Where(c=>c.ID==xyz).Select(c=>c).Single());这当然会导致两个查询。一个获取符合条件的实体,然后另一个删除它。通常我有需要删除的记录的ID,我想知道是否有更直接的方法仅通过ID从表中删除行? 最佳答案 通过附加部分对象并将其删除,无需手动工具SQL即可执行此操作:varm

c# - 如何将异步操作与 .NET 4 中的任务并行库链接起来?

我正在尝试以编程方式在C#4中链接异步操作,例如写入给定的Stream对象。我最初是“手动”执行此操作的,将回调从一个操作Hook到下一个操作,但我想我会尝试使用.NET4任务并行库来省去重新发明并发轮子的麻烦。首先,我将异步调用包装在任务中,如下所示:publicstaticTaskCreateWriteTask(Streamstream,byte[]data){returnTask.Factory.FromAsync(stream.BeginWrite,stream.EndWrite,data,0,data.Length,null);}Continuations使链式同步操作变得非

c# - 如何命名运行任务的线程?

我发现命名线程在调试时非常有用。我看不出有什么方法可以使用Task.Factory.StartNew()的参数来命名线程那么在任务中显式命名线程是否可以接受?例如:privatevoidMyFunc(){Task.Factory.StartNew(()=>{Thread.CurrentThread.Name="Foobulizer";Foobulize();});}但是,我很欣赏线程可能会被不同的任务重用,所以我是否需要在任务结束时显式地重置线程名称?这感觉很老套,所以我认为这可能是个坏主意,或者有正确的方法来做到这一点? 最佳答案