gpt4 book ai didi

asp.net-mvc - Entity Framework ,等待结果

转载 作者:行者123 更新时间:2023-12-02 19:41:16 24 4
gpt4 key购买 nike

我正在编写一些代码,最常见的是,针对 Entity Framework 的查询不会返回任何结果。这个请求已经由一些 jQuery 代码提交,如果我回复“无结果”,它只会转身再次发出相同的请求 - 所以我不想响应,直到有一些结果可用,或者已经过去了合理的时间(例如 30 秒)(但是,我不想将结果缓存 30 秒 - 30 秒是不向查询发送响应的合理时间 - 如果结果可用,我希望它们“立即”可用)

我该如何最好地解决这个问题。我尝试在重新查询之间休眠,但它 a) 似乎不起作用(每个没有结果的请求都会等待整整 30 秒),b) 将占用一个 asp.net 线程。

那么如何将我的代码转换为不占用 ASP.NET 线程,并在结果可用时做出响应?

[HttpGet]
public ActionResult LoadEventsSince(Guid lastEvent, int maxEvents)
{
maxEvents = Math.Min(50, maxEvents); //No more than 50
using (var dbctxt = new DbContext())
{
var evt = dbctxt.Events.Find(lastEvent);
var afterEvents = (from et in evt.Session.Events
where et.OccurredAt > evt.OccurredAt
orderby et.OccurredAt
select new { EventId = et.EventId, EventType = et.EventType, Control = et.Control, Value = et.Value }).Take(maxEvents);

var cycles = 30;
while (afterEvents.Count() == 0 && cycles-- > 0)
{
System.Threading.Thread.Sleep(1000);
}
return Json(afterEvents.ToArray(), JsonRequestBehavior.AllowGet);
}
}

最佳答案

看看这个 mix 11 session :“Pragmatic JavaScript jQuery & AJAX with ASP.NET”。在类(class)最后(大约 40-45 分钟)有一个适合您的演示。
我很确定你会说哇..
达米安·爱德华兹 (Damian Edwards) promise 在他的博客上发布有关该技术的更多信息,但我们还没有看到它......

关于asp.net-mvc - Entity Framework ,等待结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5834339/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com