草庐IT

MySQL执行流程

全部标签

c# - 为什么 IList 不是延迟执行?

据我了解,IEnumerable和IQueryable是延迟执行。为什么IList也支持延迟执行没有好处? 最佳答案 我想得越久,就越怀疑“延迟执行”的整个想法是否真的具有教学值(value)。我会通过否定来回答你的问题。IEnumerable,IQueryable和IList不以任何方式表示“延迟”或“急切”的计算。相反,接口(interface)代表提供服务的能力。IEnumerable表示服务“我可以一次提供一个序列,可能是无限的T类型的项目”。IQueryable表示服务“我可以表示对数据源的查询,并按需提供该查询的结果”。

c# - 存在但未调用扩展方法时代码执行的差异

TL;DR,问题:.NET中扩展方法的存在对代码的执行有什么影响(例如JIT/优化)?背景我在MSTest中遇到测试失败,这取决于是否也测试了看似无关的程序集。我注意到测试失败,并且偶然注意到只有在加载另一个测试程序集时才会发生失败。在单元测试和集成测试程序集上运行mstest将开始执行集成测试,并在4.5CLR下的第21次集成测试中失败,而在4.0CLR下不会发生这种情况(否则配置相同)。我从集成测试程序集中删除了所有测试,但失败的测试除外。执行现在看起来像这样,加载了两个测试程序集,mstest加载了两个程序集,然后在集成测试程序集中执行单个测试,但失败了。>mstest.exe/

c# - Postsharp Aspects 执行顺序

好的,这可能会很长。我正在尝试做两件事:我想要一个类,该类通过保存每个调用都路由到的另一个类的实例来实现接口(interface)。我也想拦截所有的方法调用,做点什么。单独完成这两件事效果很好。将它们组合起来似乎只在一个执行顺序中有效,正如Murphy所说,这是错误的顺序(至少对我而言)。我想先注入(inject)组合,这样所有调用的拦截也将拦截之前注入(inject)的那些。namespaceConsoleApplication13{usingSystem;usingSystem.Reflection;usingPostSharp;usingPostSharp.Aspects;usi

c# - 如何执行字符串中的代码?

这个问题在这里已经有了答案:c#executeastringascode(6个答案)HowcanIevaluateC#codedynamically?(16个答案)关闭5年前。假设我有这样的东西:stringsingleStatement="System.DateTime.Now";有没有什么方法可以获取singleStatement并在运行时解析和运行它?这样:DateTimecurrentTime=singleStatement.SomeCoolMethodToRunTheText();会将DateTime.Now的值赋给currentTime。

c# - 执行大量并发 INSERT 时如何避免 "Violation of UNIQUE KEY constraint"

我正在执行许多并发SQLINSERT语句,这些语句在UNIQUEKEY约束上发生冲突,即使我也在单个事务中检查给定键的现有记录。我正在寻找一种方法来消除或最大限度地减少我遇到的碰撞数量,同时又不会损害性能(太多)。背景:我正在开发一个ASP.NETMVC4WebApi项目,该项目接收大量对INSERT记录的HTTPPOST请求。它每秒收到大约5K-10K请求。该项目的唯一职责是删除重复数据和汇总记录。写起来很重;它的读取请求量相对较小;所有这些都使用带有IsolationLevel.ReadUncommitted的事务。数据库架构这是数据库表:CREATETABLE[MySchema]

c# - 在 Visual Studio Code 中执行 T4 文本模板

我在VisualStudioCode中创建了一个T4文本模板(.tt)文件,但与VisualStudio2017(或2015,...)不同,它不会在保存后生成输出文件.tt文件。如何在VisualStudioCode中生成输出? 最佳答案 此解决方案并不完全符合您的要求,但它可能在许多情况下都有用(仅限Windows操作系统)。您可以在VisualStudioCode中创建任务并运行C:\ProgramFiles(x86)\MicrosoftVisualStudio\2017\Enterprise\Common7\IDE\TextT

c# - 如何在执行 Web 请求时指定仅连接超时?

我目前正在使用使用HttpClient类发出HTTP请求的代码。尽管您可以为请求指定超时,但该值适用于整个请求(包括解析主机名、建立连接、发送请求和接收响应)。我需要一种方法让请求在无法解析名称或建立连接时快速失败,但有时我也需要接收大量数据,因此不能仅仅减少超时。有没有办法使用内置(BCL)类或替代HTTP客户端堆栈来实现此目的?我简要地查看了RestSharp和ServiceStack,但它们似乎都没有为连接部分提供超时(但如果我错了请纠正我)。 最佳答案 如果连接花费太多时间,您可以使用Timer中止请求。时间到时添加事件。你

c# - 如何执行作为资源嵌入的可执行文件

是否可以执行作为资源包含在项目中的exe文件?我可以将文件作为字节数组获取并在内存中执行吗?我不想将文件写入临时位置并在那里执行。我正在寻找可以在内存中执行的解决方案。(它不是.NET程序集。) 最佳答案 这很有可能-我自己做过-但它很繁琐,而且从托管代码来看更是如此。它没有.NETAPI,也没有您可以PInvoke的nativeAPI。因此,您必须手动处理负载,这需要了解用于DLL和EXE等模块的PE(可移植可执行文件)文件格式的一些知识-http://msdn.microsoft.com/en-us/magazine/cc301

c# - 用于修复 .NET 应用程序以解决 SQL Server 超时问题并改进执行时间的 list

用于改进.NET代码和SQLServer之间的执行时间的list。任何从基本到奇怪的解决方案都值得赞赏。代码:通过avgbody更改命令和连接中的默认超时.avgbody使用存储过程调用而不是内联sql语句.使用JayShepherd的事件监视器查找阻止/锁定.SQL服务器:注意存储过程中的参数嗅探AlexCuse.注意动态增长数据库MartinClarke.通过BradO使用Profiler查找任何花费超过100毫秒的查询/存储过程.将事务超时增加avgbody.通过avgbody将动态存储过程转换为静态存储过程.通过JayShepherd检查服务器有多忙.

c# - 执行文件复制/删除和移动之间的区别

有什么区别使用File.Copy()和File.Delete()复制和删除文件使用File.Move()移动文件在执行这些操作所需的权限方面有什么区别吗?非常感谢任何帮助。 最佳答案 File.Move方法可用于将文件从一个路径移动到另一个路径。此方法跨磁盘卷工作,如果源和目标相同,则不会抛出异常。您不能使用Move方法覆盖现有文件。如果您尝试通过将同名文件移动到该目录中来替换该文件,则会出现IOException。要克服这个问题,您可以结合使用复制和删除方法 关于c#-执行文件复制/删