草庐IT

Io_context

全部标签

c# - 为什么c#内置的IO类比自制的快?

当我决定在C#中自己实现JavaByteBuffer时,我认为它会比MemoryStream+BinaryWriter/二进制阅读器。我通过ILSpy查看了它们的源代码,发现有很多检查和辅助方法调用,而在我的实现中,我直接使用底层字节数组。但是,当测试表明重型内置类的方法调用比我的轻型方法调用快将近两倍时,我感到非常惊讶。例如:publicvoidWriteBytes(Byte[]buffer,Int32offset,Int32count){this.EnsureFreeSpace(count);Buffer.BlockCopy(buffer,offset,this.buffer,th

c# - 在 Excel 中调用 WCF 方法切换 "context"并让 Word 继续 "work"

我的问题很难解释,因为我自己不能100%确定发生了什么。因此,我将尽力解释情况。只是一个警告,如果你希望有你必须查看的代码并尝试找出错误,恐怕我无法提供这样的东西,因为我面临的是一个更普遍的问题,而不是一个代码错误。那么……让我们开始吧我有一个Excel加载项、一个WPF应用程序和一个WCF服务器,它们都是我编写的,如果需要的话,我可以调整任何一侧。在我的Excel加载项中,我调用WCF服务器方法从WPF应用程序检索数据。打开Excel工作簿后,我的加载项将更新其值,并因此调用WCF服务器。这在用户“正常”打开Excel工作簿时工作正常,但在代码“自动”发生时失败。一个这样的场景是,提

c# - Entity Framework Context.SaveChanges 根本不起作用

我在使用这段代码时遇到了问题。我能够连接到mdf示例数据库存档并生成实体模型。虽然我能够查询上下文模型并从数据库中检索信息,但当我尝试更新、删除或插入上下文中的任何内容并将更改转换为数据库上下文时。SaveChanges不起作用。没有异常,实体模型已正确更新,但数据库没有更改。谢谢publicvoidaddCourse(intcourseId,intdeptId,stringcourseTitle){SchoolContexto=newSchoolEntities();Coursemycourse=newCourse();mycourse.CourseID=courseId;mycou

c# - .NET Core Entity Framework - 为类库中的 Context 添加迁移

我在将初始迁移添加到.NETCore类库中的EntityFramework数据库上下文时遇到问题。当我运行时:dotnetefmigrationsaddmigrationName-cPlaceholderContext我得到错误:Couldnotinvokethiscommandonthestartupproject'Placeholder.Data'.ThisversionoftheEntityFrameworkCore.NETCommandLineToolsdoesnotsupportcommandsonclasslibraryprojectsinASP.NETCoreand.NE

c# - 有人使用 .NET 的 System.IO.IsolatedStorage 吗?

我在阅读.NET中的System.IO.IsolatedStorage命名空间时发现我可以使用它来将文件存储到我的程序集或可执行文件的唯一位置。例如下面的代码:usingSystem.IO.IsolatedStorage;publicclassProgram{staticvoidMain(string[]args){IsolatedStorageFilestore=IsolatedStorageFile.GetUserStoreForAssembly();store.CreateFile("myUserFile.txt");}}在以下位置创建文件“myUserFile.txt”:C:\

c# - System.IO.File.Move--如何等待移动完成?

我正在用C#编写一个WPF应用程序,我需要移动一些文件——问题是我真的真的需要知道这些文件是否成功。为此,我写了一个检查以确保文件在移动后到达目标目录——问题是有时我在文件移动完成之前就进行了检查:System.IO.File.Move(file.FullName,endLocationWithFile);System.IO.FileInfo[]filesInDirectory=endLocation.GetFiles();foreach(System.IO.FileInfotempinfilesInDirectory){if(temp.Name==shortFileName){ret

c# - System.IO.Directory.GetFiles 空

当我枚举“C:\Windows\System32\Tasks”时,谁能解释为什么GetFile()为空?System.IO.Directory.GetFiles(@"C:\Windows\System32\Tasks");我检查过这个:VS以管理员身份运行没有抛出异常根目录下有文件我可以(通过资源管理器)将文件复制到另一个文件夹,而且它可以工作 最佳答案 这里的问题是您正在以x86运行程序,它是beingsilentlyredirectedtoanotherfolder里面没有文件。(它将被重定向到C:\Windows\SysWOW

c# - HttpClient.SendAsync 使用线程池而不是异步 IO?

所以我一直在深入研究HttpClient.SendAsync的实现通过反射器。我有意想知道这些方法的执行流程,并确定调用哪个API来执行异步IO工作。探索里面的各个类之后HttpClient,我看到它在内部使用HttpClientHandler源自HttpMessageHandler并实现其SendAsync方法。这是HttpClientHandler.SendAsync的实现:protectedinternaloverrideTaskSendAsync(HttpRequestMessagerequest,CancellationTokencancellationToken){if(r

c# - ASP.NET VNext 完整 CLR 中的 System.IO.Compression

我正在尝试在VS2015预览版的ASP.NETVNext类库中使用System.IO.Compression.ZipArchive。我使用NuGet添加了System.IO.Compression包,并将其作为aspnetcore50依赖项添加到我的project.json中。当我尝试使用ZipArchive时,智能感知显示在ASP.NET5.0中不可用,但在ASP.NETCore5.0中可用。如果我使用顶部栏中的下拉菜单切换到使用ASP.NETCore,那么我的代码会按预期工作,但是当我选择普通ASP.NET时它不起作用。我尝试手动将它添加为project.json中的aspnet5

c# - 文件 IO 的单元测试方法

我正在努力养成编写单元测试的习惯,我以前写过一些,但它们通常都很基础......我想开始转向TDD,因为我想提高我的代码(设计和结构)的质量-减少耦合,同时希望减少滑入可测试构建的回归数量。我从一个相对简单的项目开始。生成的程序监视一个文件夹,然后对该文件夹中的文件进行操作。下面是从项目中提取的一些代码的典型示例:privatestringRestoreExtension(Stringfile){varunknownFile=Path.GetFileName(file);varignoreDir=Path.GetDirectoryName(file)+"\\Unknown";strin