我一直在阅读一些async文章: http : //www.asp.net/web-forms/tutorials/aspnet-45/using-asynchronous-methods-in-aspnet-45和作者说: 当你在做asynchronous工作时,你并不总是使用一个线程。 例如,当您发出asynchronousWeb服务请求时,ASP.NET将不会在async方法调用和await之间使用任何线程。 所以我想了解的是,如果我们不使用任何线程来执行并发,它将如何变成async ? 这是什么意思“你不总是使用一个线程”? 让我首先解释一下我所知道的有关使用线程的知识(一个简单的例子,当然,除了UI和Worker方法之外,线程可以用于不同的情况) 你有UI线程input输出。 您可以在UI线程中处理事情,但它会使UI无响应。 因此,让我们说我们有一个stream相关的操作,我们需要下载一些数据。 而且我们还允许用户在下载时做其他事情。 我们创build一个新的工作线程,下载文件并更改进度条。 一旦完成,就没有什么可做的,所以线程被杀死了。 我们继续从UI线程。 我们可以根据情况等待UI线程中的工作线程,但在此之前,在下载文件的同时,我们可以使用UI线程做其他事情,然后等待工作线程。 async编程不一样吗? 如果不是,有什么区别? 我读了async编程使用ThreadPool从拉线虽然。
如果catch和finally块都抛出exception,会发生什么?
对于这样的代码: int res = 0; for (int i = 0; i < 32; i++) { res += 1 << i; } 此代码生成(发布模式,没有附加debugging器,64位): xor edx,edx mov r8d,1 _loop: lea ecx,[r8-1] and ecx,1Fh ; why? mov eax,1 shl eax,cl add edx,eax mov ecx,r8d and ecx,1Fh ; why? mov eax,1 shl eax,cl add edx,eax lea ecx,[r8+1] and ecx,1Fh […]
有人可以解释如何在LINQ中使用DefaultIfEmpty() 。 我已经准备好一些材料,但仍然需要一些坚实的东西来看看它的用途。
我正在使用TFS 2010处理在源代码控制下的实用程序处理文件。 如果一个项目还没有签出编辑,我得到一个exception,什么是绝对可预测的,因为文件处于只读模式。 有什么办法检出文件? PS我想要的东西编程,而不是Process.Start("tf.exe", "…"); 如果这是适用的。
我想学习Solr。 我可以知道一些很好的教程/链接吗? 另外,Solr是否可用于.NET?
如何在运行的.NET程序中获取当前的CLR运行时版本?
我们知道IIS高速cachingConfigurationManager.AppSettings,所以它只读取一次磁盘,直到web.config被更改。 这是为了性能目的而完成的。 有人在: http://forums.asp.net/p/1080926/1598469.aspx#1598469 表示.NET Framework不会为app.config执行相同的操作,但是它会从磁盘读取每个请求。 但我觉得很难相信,因为它会变慢。 请告诉我他是错的,否则我将不得不修复我编写的每个控制台/ Windows窗体/ Windows服务。 更新我很遗憾,我误解了人们在上面的链接论坛中所说的话。
已知应该声明作为参数的事件(object sender, EventArgs args) 。 为什么?
我已经使用.Net 3.5和VS 2008超过一个月。 和大多数.Net开发者一样,我已经从.Net 1.0&2.0和VS 2005的多年经验发展而来。最近,我发现了LINQ和Lambdaexpression式的简单性和强大性,就像我最近的问题,比如在列表中find一个项目LINQ , 使用Lambda或LINQ 将 类实例转换或映射到另一个类的实例列表 ,以及使用Lambda或LINQ 将类的列表转换或映射到另一个类的列表 。 我承认Lambda和LINQ更简单易读,而且看起来非常强大。 在幕后,.NET编译器必须生成大量代码才能实现这些function。 因此,我有点犹豫,转向新的语法,因为我已经知道“老”的方式来实现相同的结果。 我的问题是关于Lambda和LINQ的效率和性能。 也许Lambdaexpression式大多是内联函数,在这种情况下,我猜Lambda应该没问题。 那么LINQ呢? 让我们将讨论限制在LINQ到对象的LINQ到SQL(LINQ到SQL)。 任何意见,比较和经验?