草庐IT

Flutter异步编程之isolate

全部标签

c# - EntityFramework 6 的 SqlDependency(异步)

我正在使用EF6async查询功能,例如varlist=awaitcx.Clients.Where(c=>c.FirstName.Length>0).ToListAsync();我还想在这些查询上启动SQL依赖项,以便在数据库中的数据发生变化时得到通知。我可以使用System.Runtime.Remoting.Messaging.CallContext执行此操作,如下所示:asyncTaskGetData(){using(ClientsContextcontext=newClientsContext())//subclassofDbContext{SqlDependency.Start

c# - 在 MVC 5 中的 Action Filters 中调用异步方法

我正在编写一个使用ActionFilterAttribute的Action过滤器(继承自HttpClient)将数据发布到OnResultExecuted中的外部服务器方法。HttpClient有方法PostAsync它返回一个可等待的Task.publicoverridevoidOnResultExecuted(ResultExecutedContextfilterContext){using(varclient=newHttpClient()){vartask=client.PostAsync(GetUri(),GetContent());varresult=task.Result

c# - 我可以以编程方式启用/禁用中断异常吗?

我希望能够在调试时中断异常...就像在VisualStudio2008的菜单调试/异常对话框中一样,除了我的程序在我到达我希望调试的位置之前有许多有效的异常。因此,不是每次都使用对话框手动启用和禁用它,而是可以使用#pragma或其他一些方法自动启用和禁用它,这样它只发生在特定的代码段中吗? 最佳答案 做接近此操作的唯一方法是将DebuggerNonUserCodeAttribute放在您的方法上。这将确保标记方法中的任何异常都不会导致异常中断。很好的解释here...Thisisanattributethatyouputagain

c# - 是否可以异步提交/回滚 SqlTransaction?

我正在尝试以异步方式提交/回滚SqlTransaction。但看起来不支持异步。有什么方法可以在不使用原始SQL启动事务的情况下使其异步? 最佳答案 看起来不像。通过相关代码,所有其他方法都是异步的(同步版本是特例),而SqlTransaction和其他相关代码只是同步的。对于重叠的部分,SqlTransaction只是同步等待任务完成(例如,处理重新连接时)。事实上,当您深入了解代码时,事务操作明确禁止任何异步操作,因此不包括异步事务操作似乎是设计使然。如果您确实找到了解决方法,请牢记这一点-系统并非设计为允许并发操作,因此始终一

c# - 等待异步 API 的 Specflow 步骤

如果DoAyncStuff()方法中发生故障,我们正在尝试获取以下场景步骤来中断测试:[Given(@"Thereissomething")]publicasyncTaskGivenSomething(){awaitDoStuff();}privateasyncTaskDoStuff(){awaitTask.Run(()=>Thread.Sleep(1000));thrownewApplicationException("Boom");}但在您使用.Wait()或.Result之前,它实际上是一个愉快的绿色运行:[Given(@"Thereissomething")]publicvoi

c# - 以编程方式将用户权限添加到 Sharepoint 中的列表

如何以编程方式将用户权限添加到Sharepoint中的列表?我想为某个列表的用户或组添加“贡献”权限。我正在使用C#。 最佳答案 您可以使用SPRoleAssignment执行此操作对象,例如//AssumingyoualreadyhaveSPWebandSPListobjects...SPRoleAssignmentroleAssignment=newSPRoleAssignment("dom\\user","user@dom","user","somenotes");SPRoleDefinitionroleDefinition=

c# - 如何使用 Visual Studio - 生成异步 WCF 调用?

我的OperationContract:publicListGetMessages(){Listmessages=newList();foreach(Messagemin_context.Messages.ToList()){messages.Add(newMessageDTO(){MessageID=m.MessageID,Content=m.Content,Date=m.Date,HasAttachments=m.HasAttachments,MailingListID=(int)m.MailingListID,SenderID=(int)m.SenderID,Subject=m.

c# - SSH.Net异步文件下载

我正在尝试使用SSH.NET从SFTP服务器异步下载文件。如果我同步执行它,它工作正常但是当我异步执行时,我得到空文件。这是我的代码:varport=22;stringhost="localhost";stringusername="user";stringpassword="password";stringlocalPath=@"C:\temp";using(varclient=newSftpClient(host,port,username,password)){client.Connect();varfiles=client.ListDirectory("");vartasks=

c# - 异步方法和异步委托(delegate)

C#3.0简述说异步方法和异步委托(delegate)看起来很相似,但行为却大不相同.这是书中关于两者的说法。异步方法很少或从不阻塞任何线程。Begin方法可能不会立即返回给调用者。商定的协议(protocol),不支持C#语言。异步委托(delegate)可以阻止任何时间长度BeginInvoke立即返回给调用者。内置编译器支持。书上还说,异步方法的目的是让很多任务在很少的线程上运行;异步委托(delegate)的目的是与调用者并行执行任务。当我通过反射器查看System.IO.Stream类中的BeginRead()方法时,它使用委托(delegate)并调用BeginInvoke

c# - 如何以编程方式解析和修改 C# 代码

我想做的是阅读C#代码,解析它,插入一些方法调用并最终编译它。是否可以将C#源代码(字符串列表)转换为CodeDOM对象? 最佳答案 这是一个非常古老的问题,但值得注意的是,已接受的答案不再适用。微软最近Roslyn项目明确旨在公开编译器在静态分析代码库的过程中获得的有关您的代码库的所有知识,并通过托管API公开所有这些信息供您利用。它适用于VB和C#。由于您要使用静态分析信息,因此需要Microsoft.CodeAnalysisNuGet包(C#所需的东西在Microsoft.CodeAnalysis.CSharp命名空间下),有