草庐IT

core_files_upload

全部标签

C# File.Replace 防止崩溃

File.Replace是否执行原子/事务操作,以便在发生崩溃或电源故障时目标文件永远不会丢失,也不会是部分文件(即原始文件或新文件)文件)?如果没有,是否有其他方法可以防止这种情况发生?注意:这将在装有Windows7或更高版本的NTFS驱动器上,我知道它支持事务。注意:我问的是关于保存在一个原子庄园中,而不是关心一个单独的进程也像thisquestion这样打开文件. 最佳答案 File.Replace在内部使用WinAPI函数ReplaceFile(当然是在Windows上)。但是,即使在该函数中,原子性也不是记录在案的行为,

c# - 区分大小写 Directory.Exists/File.Exists

有没有办法让Directory.Exists/File.Existssince区分大小写Directory.Exists(folderPath)和Directory.Exists(folderPath.ToLower())都返回true?大多数时候这无关紧要,但我使用的宏似乎在路径与大小写不匹配100%时不起作用。 最佳答案 由于Directory.Exists使用FindFirstFile不区分大小写,不。但是你可以PInvokeFindFirstFileExadditionalFlags参数设置为FIND_FIRST_EX_CA

c# - 来自 Visual Studio 2013 RC 的 "Cannot find or open the PDB file"

第一次使用C#,但我有Java经验。我写了一个HelloWorld程序来启动自己,但是我在编译时遇到了这个找不到或打开PDB文件错误。'ConsoleApplication4.vshost.exe'(CLRv2.0.50727:ConsoleApplication4.vshost.exe):Loaded'C:\Windows\assembly\GAC_64\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll'.CannotfindoropenthePDBfile.'ConsoleApplication4.vshost.exe'(CLRv2.0

c# - 在 .NET Core 下的分层架构中自动创建 CRUD

我正在一个典型的三层架构下的新项目中工作:business、data和client,使用Angular作为前端。在这个项目中,我们将有一个我们想要自动化的重复性任务:CRUD的创建。我们要做的是生成模型和Controller(放置、获取、发布、删除)以及来自实体及其属性的其他基本项目信息。我最好的选择是什么?我曾考虑过模板T4,但我对它们的无知使我怀疑它是否是最佳选择。例如,来自这个实体:publicclassUser{publicintId{get;set;}publicstringName{get;set;}publicstringEmail{get;set;}publicIEnu

c# - 如何注册两个实现然后在 .Net Core 依赖注入(inject)中获得一个

我的部分代码依赖于同一接口(interface)的多个实现,而其他部分依赖于其中一个实现。我正在注册如下实现:services.AddSingleton();services.AddSingleton();然后在需要时获取两个实现,例如:varimplementations=serviceProvider.GetServices();我的问题是当我需要其中之一时,我正在尝试以下返回null的方法:varfirstImplementation=serviceProvider.GetService();当然我可以使用:varimplementations=serviceProvider.G

c# - "The breakpoint will not currently be hit. A copy of file was found in dll file, but the current source code is different"

我不断收到此错误消息,提示存在.cs文件的副本,因此不会命中断点。我尝试过清理解决方案、重建、删除obj和bin文件夹中的.pdb文件、关闭VS并重新启动它、重新启动整个机器(这是Windows!有时最复杂、无法解释的问题会像这样解决:\)知道我还能尝试什么吗?这是VS2015上的.net项目 最佳答案 我发现了问题,原来IIS配置为使用我备份文件夹中项目的不同副本。这听起来很傻,但如果有人有类似的问题,我会保留这个问题。 关于c#-"Thebreakpointwillnotcurren

c# - .Net Core 1.1 中的疯狂深度路径长度

有没有人在.NETCore1.1中看到一个问题,在netcoreapp1.1\publish文件夹下,他们最终有一个bin文件夹,该文件夹似乎在自身循环并最终导致路径太长消息出现在Windows中。尝试在Windows资源管理器中删除此文件夹会导致出现“源太长”消息。唯一的解决办法是使用RoboCopy.这是生成路径之一的示例:bin\Debug\netcoreapp1.1\publish\bin\Debug\netcoreapp1.1\publish\bin\Debug\netcoreapp1.1\publish\bin\Debug\netcoreapp1.1\publish\bin

c# - Dapper with .NET Core - 注入(inject)的 SqlConnection 生命周期/范围

我正在使用.NETCore依赖注入(inject)在应用程序启动期间实例化一个SqlConnection对象,然后我计划将其注入(inject)到我的存储库中。Dapper将使用此SqlConnection从我的存储库实现中的数据库读取/写入数据。我将对Dapper使用async调用。问题是:我应该将SqlConnection作为transient注入(inject)还是作为单例注入(inject)?考虑到我想使用async这一事实,我的想法是使用transient,除非Dapper在内部实现了一些隔离容器,并且我的单例范围仍将包含在Dapper内部使用的任何范围内。在使用Dapper

c# - 控制台应用程序中的 .NET Core 全局异常处理程序

我正在将控制台应用程序移植到.NETCore,我正在尝试替换这一行:AppDomain.CurrentDomain.UnhandledException+=UnhandledException;看完this,似乎没有内置的方法来做到这一点。所以我的问题是:用try/catch替换围绕我的整个代码的这一行是唯一的方法吗?通过阅读this,似乎还有另一种方法,即继续使用System.AppDomain,但我似乎找不到此类/方法。我唯一的猜测是thislibrary,但它明确指出如果可能的话不应使用它,所以我不想这样做。 最佳答案 你是对

c# - .NET Core 2.0 中的 HttpWebRequest 抛出 302 发现异常

我们正在将我们的应用程序从.netframework升级到.netcore2.0。在其中,我们使用HttpWebRequest联系AllowAutoRedirect设置为false的站点。当代码执行request.GetResponse()时,站点将返回一个302响应,这在.net框架中是可以的-你可以获取响应并处理它(我们在set-cookie之后header值)。但是,在.netcore2.0中,会抛出WebException:Theremoteserverreturnedanerror:(302)Found.我的理解是否错误,因为302应该导致抛出异常,而不是如果AllowAut