草庐IT

Run-time

全部标签

c# - 如何使用 Task.Run(Action<T>)

我正在尝试创建一个接受TcpClient连接并在客户端连接后执行任务“ConnectedAction”的方法。我在尝试创建新任务以运行委托(delegate)“ConnectedAction”时收到编译错误。Argument1:cannotconvertfrom'void'to'System.Func'我相信这个错误是因为该方法正在尝试运行“ConnectedAction”方法并将void返回给Task.Run参数。如何让任务运行“ConnectedAction”委托(delegate)?classListener{publicIPEndPointListenerEndPoint{ge

c# - 尝试在 : await Task. 之外捕获 Run(()

在awaitTask.Run(()=>之外的trycatch是否有意义,或者仅在await内部使用它们?privateasyncvoidTest(){try{awaitTask.Run(()=>{try{DoingSomething();}catch(Exceptionex){log.Error(ex.Message);}});}catch(Exceptionex){log.Error(ex.Message);}} 最佳答案 如果你处理Exception在委托(delegate)内部(在您的情况下仅用于记录目的),await在正常情

c# - "This application can only run in the context of an app container."- Visual Studio 2015 开发新功能

我有点绝望。几个小时以来,我一直在努力解决以下问题。我开发了一个应用程序,我现在尝试使用VisualStudio2015的安装向导扩展来安装它。一切都在构建或(没有错误)但是当我打开应用程序时它突出显示它只能在应用程序容器的上下文中打开。那是什么意思?任何建议将不胜感激!该应用正在使用SQlite数据库。这可能与依赖关系有关吗?如果是这样,我该如何解决这个问题?更新:#Culture="en-US"ConvertFrom-StringData@'###PSLOCPromptYesString=&YesPromptNoString=&NoBundleFound=Foundbundle:{

c# - Task.Run 和 Func<>

如何运行一个返回值并接受参数的任务?我看到有一个重载方法Task.Run(Func)但是我怎样才能在那里传递参数呢? 最佳答案 Func不带参数。通常,您会使用lambda表达式捕获参数。例如:publicvoidDoSomething(stringtext){Tasktask=Task.Run(()=>text.Length);...}在这里text是一个捕获的变量...所以即使你只是创建一个Func,它使用方法参数。 关于c#-Task.Run和Func,我们在StackOverfl

c# - IdentityServer4/Newtonsoft.Json 中的探查器 BLOCKED_TIME

我遇到的问题是我的IdentityServer的/connect/introspect端点有时真的很慢(一次调用需要10秒)。正如您在下面看到的,大多数调用(18k)执行得很快(我启用了新的ApplicationInsightsprofiling大多数缓慢的轨迹看起来像这样:正如在ApplicationInsightsprofilerpage上所说:BLOCKED_TIMEindicatesthecodeiswaitingforanotherresourcetobeavailable,suchaswaitingforasynchronizationobject,waitingforat

c# - 静态初始化器中的 Task.Run

考虑以下代码。staticclassX{publicstaticintValue=Task.Run(()=>0).Result;}classProgram{staticvoidMain(string[]args){varvalue=X.Value;}}调用Task.Run然后在静态初始化程序中调用Result会导致程序永久卡住。为什么? 最佳答案 您在CLR的类初始化锁上看到了死锁。基本上,课上什么都没有X可以在类初始化之前使用。但是你的匿名方法()=>0被编译为该类的成员。在Task之前,类初始化不会完成可以完成,但是Task无法

c# - Task.Run 和 Task.Factory.StartNew 之间不同的异常处理

我在使用Task.Factory.StartNew并trycatch抛出的exception时遇到问题。在我的应用程序中,我有一个长时间运行的任务,我想将其封装在Task.Factory.StartNew(..,TaskCreationOptions.LongRunning);但是,当我使用Task.Factory.StartNew时,异常没有被捕获。然而,当我使用Task.Run时,它的工作方式与我预期的一样,我认为它只是Task.Factory.StartNew的包装器(根据例如thisMSDNarticle).此处提供了一个工作示例,不同之处在于使用Task.Run时将异常写入控

c# - UInt64 和 "The operation overflows at compile time in checked mode"- CS0220

这感觉像是一个愚蠢的问题,但我似乎看不到答案。我有一个UInt64,它的最大值应该是UInt64.MaxValue18446744073709551615但是,当我尝试分配一个中等大小的数字时,出现“在检查模式下编译时操作溢出”的溢出错误。如果我将它包装在一个“未经检查”的block中,那么它会编译并运行,就像这个变量为零一样:UInt64value1=1073741824*8;//CompileerrorCS0220UInt64value2=8589934592;//Actualvalue-noerror为什么会这样? 最佳答案

c# - 多线程,Task.Run 错误 'The call is ambiguous between the following methods or properties'

当我尝试构建项目时,显示以下错误消息。Thecallisambiguousbetweenthefollowingmethodsorproperties:'System.Threading.Tasks.Task.Run(System.Action)'and'System.Threading.Tasks.Task.Run(System.Func)'我该如何解决这个问题?publicstaticclassMaintananceManager{privatestaticThreadSafeSocialMediaListPostList=newThreadSafeSocialMediaList(

c# - 以管理员身份运行 : requireAdministrator & ClickOnce + emulating system time

我的应用程序使用ClickOnce技术。今天我需要以管理员身份运行它。我修改了来自的list文件到但是VS无法编译项目:Error35ClickOncedoesnotsupporttherequestexecutionlevel'requireAdministrator'.我认为不可能同时使用它们。不是吗?我需要更改系统时间,我可以在应用程序级别进行吗?我可以模拟它吗,所以应用程序。可以做我想做的事。我将时间更改为+2小时,然后再放回去一秒钟。我有一些dll,他们需要时间。 最佳答案 实际上,您不能使用管理员权限运行ClickOnc