- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经下载了 EF6 (为了使用 async
)
所以我写了这个简单的方法:
public async Task<List<int>> MyasyncMethod()
{
var locations = await MyDumpEntities.AgeGroups.Select(f=>f.endYear).ToListAsync();
return locations;
}
...Later...
DumpEntities1 MyDumpEntities = new DumpEntities1();
var data = MyDumpEntities.AgeGroups.ToListAsync();
MyasyncMethod().ContinueWith(s => { Response.Write("f"); });
MyDumpEntities.Dispose();
但是我在屏幕上看不到任何东西,当我检查 data
时,我看到了这个:
附注这是 ToListAsync
签名
我错过了什么?
最佳答案
基于评论和您有问题的行:
var data = MyDumpEntities.AgeGroups.ToListAsync();
什么会data
类型是? Task<List<AgeGroup>>
.没错,不是List<AgeGroup>
.所以,你要么必须标记 Page_Load
作为异步(如果可能):
public async void Page_Load(object sender, EventArgs e)
{
using(var MyDumpEntities = new DumpEntities1())
{
var data = await MyDumpEntities.AgeGroups.ToListAsync();
}
}
或者以某种方式等待执行(继续,阻塞等待)。
另一件事(如果我错了,其他人可能会更正),但由于您在第二次调用中使用延续,所以我会非常小心地处理延续之外的上下文。结果可能是您先发制人地处置了上下文。在这种特殊情况下,您没有在延续中使用上下文,但它看起来很可疑......
所以我要么
MyasyncMethod().ContinueWith(s => { Response.Write("f"); MyDumpEntities.Dispose();});
或者只使用 async
还有
var result = await MyasyncMethod();
Response.Write("f");
MyDumpEntities.Dispose();
并添加Async="True"
到页面指令
关于c# - EntityFramework (6) 和异步(waitingForActivation)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17587157/
我试图找出 async 和 await 关键字的全部内容,但是输出不是我所期望的。 控制台应用如下: class Program { static void Main(string[] arg
我有一个共享 BlockingCollection 的消费者/生产者设置。 public void StartConsumer(CancellationToken cancellationToken)
我有以下功能: async public Task checkNetwork (RestClient _client, ConnectivityManager conn) {
我发现 async 方法有一个非常令人困惑的行为。考虑以下控制台应用程序: private static int _i = 0; private static Task _calculateTask
我试图找出 async 和 await 关键字的全部内容,但是输出不是我所期望的。 控制台应用如下: class Program { static void Main(string[] arg
public void DoStuff() { // I want to be able to call the method DoAsynckStuff and wait for the r
我只有一种 Api Request 方法如下 private async Task getSiteAsync(string siteId) { Site site = null; va
我正在尝试在 VS2012 框架 4.5 的表单上使用异步和等待命令。我的异步方法 SlowMethodAsync 不返回任何内容。请注意,此代码在控制台应用程序中运行良好。 private void
我正在用下面的方式启动 wpf 任务 var newTask = Task.Factory.StartNew(() => { fcStartSubPageCrawl(srMainSiteURL, sr
我正在使用 TaskFactory 使用以下代码启动新任务。 var task = Task.Factory.StartNew(async () => { await Task.Run(()
我已经下载了 EF6 (为了使用 async) 所以我写了这个简单的方法: public async Task> MyasyncMethod() { var loc
我正在尝试发送 url 请求并异步获取响应,但是当我将 .fromAsync 方法与 .ContinueWith 方法一起使用时,任务状态永远不会从 WaitingForActivation 更改为运
我是 HttpClient 的新手。我下面的代码总是在状态中显示“WaitingForActivation”。请帮忙 private static async Task MakeCall() {
我是 C# 中的任务的新手。我正在尝试按照有关将 arm 模板部署到 azure 以启动虚拟机的示例进行操作: https://azure.microsoft.com/en-us/documentat
给定以下代码: Dim t As Date = Now Dim e As New AsynchronousExecutionEventArgs
我是 AWS 的新手,正在尝试设置我的系统以在预订后向最终用户发送 SMS 作为确认消息。 到目前为止,我在下面做了: AmazonSimpleNotificationServiceClient sm
我正在尝试使用 Azure 中的托管身份连接到我的 Key Vault。为此,我在 appsettings.json 的 KeyVault 下的 Vault 下添加了一个带有 Key Vault 名称
我是一名优秀的程序员,十分优秀!