相关疑难解决方法(0)

Node.js的事件驱动有什么不同?我们不能在ASP.Net的HttpAsyncHandler中这样做吗?

我在网络编程方面不是很有经验,我还没有在Node.js中编写任何东西,只是对事件驱动的方法感到好奇.看起来确实不错.

本文解释了当我们使用基于线程的方法处理请求时可能发生的一些不好的事情,并且应该选择事件驱动的方法.在基于线程的情况下,收银员/线程一直困扰着我们,直到我们的食物/资源准备就绪.在事件驱动下,收银员将我们送到请求队列之外的某个地方,这样我们就不会在等待食物时阻止其他请求.要扩展基于阻塞线程,需要增加线程数.对我而言,这似乎是一个不正确使用线程/线程池的错误借口.

难道不能使用IHttpAsyncHandler正确处理?ASP.Net接收请求,使用ThreadPool并运行处理程序(BeginProcessRequest),然后在其中我们使用回调加载文件/数据库.那个线程应该可以自由处理其他请求.文件读取完成后,再次调用ThreadPool并执行剩余的响应.对我来说没有那么不同,那为什么不那么可扩展呢?

我所知道的基于线程的缺点之一是,使用线程需要更多内存.但只有这些,您才能享受多核的好处.我怀疑Node.js根本没有使用任何线程/核心.

因此,基于事件驱动vs基于线程(不要带"因为它是Javascript和每个浏览器..."的论点),有人可以指出我使用Node.js而不是使用Node.js的实际好处是什么现有技术?

这是一个很长的问题.谢谢 :)

asp.net multithreading event-driven node.js

71
推荐指数
3
解决办法
3万
查看次数

C#4动态关键字 - 为什么不呢?

在阅读了对该主题的许多回复之后,我发现很多不喜欢它的人都会引用滥用新关键字的可能性.我的问题是,什么样的滥用?怎么会这么严重地被滥用,以至于让人们激烈地不喜欢它呢?这只是纯粹主义吗?或者是否有一个我只是没有看到的真正陷阱?

dynamic c#-4.0

6
推荐指数
4
解决办法
4682
查看次数

使用Linq to Sql与新的async/await异步

与此方法async/await相比,将L2S与新C#5 关键字一起使用的最佳做法是什么?在网上找不到任何内容.

.net linq-to-sql async-await .net-4.5

6
推荐指数
1
解决办法
7843
查看次数

如何在addrange select语句中添加异步"await"?

我有这样的功能:

public async Task<SomeViewModel> SampleFunction()
{
    var data = service.GetData();
    var myList = new List<SomeViewModel>();

    myList.AddRange(data.select(x => new SomeViewModel
    {
        Id = x.Id,
        DateCreated = x.DateCreated,
        Data = await service.GetSomeDataById(x.Id)
    }

    return myList;
}
Run Code Online (Sandbox Code Playgroud)

我await没有工作,因为它只能用于使用async修饰符标记的方法或lambda .我在哪里放置async这个功能?

.net c# select task-parallel-library async-await

5
推荐指数
1
解决办法
2762
查看次数

如何与linq异步

我正在尝试用asp.net mvc制作我的第一个web应用程序,包括带linq的远程数据库.所以我正在使用mvc的默认模板,我在AccountController中重新编写了使用linq实现注册用户的代码,现在我很有意思使用async.那么可以用异步处理linq吗?如果是的话,请告诉我如何做到这一点,这将对我非常有帮助.这是我通过linq注册的例子:

[AllowAnonymous]
public ActionResult Register()
{
    return View();
}

//
// POST: /Account/Register
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Register(RegisterViewModel model)
{
    if (ModelState.IsValid)
    {
        using (DataBaseClassDataContext dc = new DataBaseClassDataContext())
        {
            Users tbUsers = new Users();
            tbUsers.Login = model.Login;
            tbUsers.Name = model.Name;
            tbUsers.Surname = model.Surname;
            tbUsers.Password = model.Password;
            tbUsers.E_Mail = model.Email;
            tbUsers.Knowledge = model.Knowledge;
            dc.Users.InsertOnSubmit(tbUsers);
            dc.SubmitChanges();

            ModelState.Clear();
            ViewBag.Message = "Successfully Registration Done";
        }
    }

    // If we got this far, something failed, redisplay form
    return View(model);
}
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net asp.net-mvc asynchronous

2
推荐指数
1
解决办法
4865
查看次数