草庐IT

MY_FILE_PATH

全部标签

c# - 为什么 File.Move 允许 2 个线程同时移动同一个文件?

我们目前有一个应用程序可以监视文件夹中的新文件。为了使其容错并能够一次处理更多文件,我们希望能够在不同机器上运行该应用程序的多个实例。我们使用File.Move来“锁定”一个文件,并确保一次只有一个线程可以处理一个文件。为了测试只有一个应用程序和/或线程可以对文件执行File.Move,我创建了一个简单的应用程序(基于原始应用程序的代码),每个应用程序创建10个线程并监视一个文件夹,当每个线程检测到一个新文件时,它对其执行File.Move并更改文件的扩展名,以尝试阻止其他线程执行相同的操作。我在运行此应用程序的多个副本(并且它自己运行)时看到一个问题,其中2个线程(在同一应用程序或不

c# - 高级 : How to optimize my complex O(n²) algorithm

我有以下人员和地点数据:Person实体有IList每个都有IList可能的地方Schedule即日模式。10天可用4天不可用在特定的DateRangePlaces内日期范围必须遵守Schedule人是否可以去特定地方的模式。Place实体有IList每个定义每个日期范围内的开始/结束时间重叠的日期范围作为LIFO。因此,对于之前已经定义的每一天,新的时间定义优先。问题现在我需要做这样的事情(用伪代码):foreachPlace{foreachDaybetweenminimumandmaximumdateinIList{getasetofPeopleapplicableforPlace

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# - Tridion 2011 : Changing a page's file name as it's being published

美好的一天!我允许我的内容编辑器将CSS存储为非常基本的组件(通常包含他们粘贴到的称为“代码”的单个多行字段),然后将这些作为组件演示添加到带有.css的页面中文件扩展名。创建页面时,用户可以设置一些配置值:缩小输出(bool)、文件名前缀和文件名后缀。最后两个的目的是,如果用户选择缩小CSS,则位于演示服务器上的文件名可能会有所不同。除了文件名的修改外,我已经完成了所有工作。我不想更改CM中的文件名;仅当它驻留在演示服务器上时。我假设这可以在放入CSS页面模板的TBB中完成。我试了一下,但想确定我没有遗漏任何东西。以下示例只是为了简洁而对一些可配置值进行硬编码的速记。//Create

c# - EF lambda : The Include path expression must refer to a navigation property

这个问题在这里已经有了答案:EF:Includewithwhereclause[duplicate](5个答案)关闭5年前。这是我的表达:Coursecourse=db.Courses.Include(i=>i.Modules.Where(m=>m.IsDeleted==false).Select(s=>s.Chapters.Where(c=>c.IsDeleted==false))).Include(i=>i.Lab).Single(x=>x.Id==id);我知道原因是模块部分的Where(m=>m.IsDeleted==false),但为什么会导致错误?更重要的是,我该如何修复它

c# - 使用 Hangfire,Startup.cs 中给出的连接字符串抛出 Cannot attach file as database 错误

我在我的ASP.NetMVCWeb应用程序中使用Hangfire,它已成功安装。我想使用相同的LocalDb来存储排队的作业,以便Hangfire出队和处理,就像我用来存储数据一样。但是,当我在Startp.cs中提供在Web.config中定义的连接字符串或名称时,我遇到了以下错误。在hangfire之前,我在同一个localDb中添加、删除更新数据没有遇到任何问题。Cannotattachthefile'c:\users\jerry_dev\documents\visualstudio2013\Projects\Hangfire.Highlighter\Hangfire.Highl

c# - NetFramework 应用程序在同一解决方案中引用 NetFramework 库,在另一个解决方案中引用 NetStandard 库。 : could not load file or assembly

关于从.NETFramework项目中引用.NETStandard类库的问题有很多类似的问题,其中netstandard库中的NuGet包依赖项不会流向netframework应用程序,并且Couldnotloadfileorassembly运行时发生错误:存在许多来源,例如下面的来源,表明可以通过添加对netframework项目缺少的依赖项来解决这个问题:https://stackoverflow.com/a/46015829/2704659然而,这是不利的,因为我不想让项目必须携带它们不应该需要的直接引用;依赖关系应该自然流动,以便将来添加/删除的依赖关系正常工作。其他来源表明可

c# - mscorlib.dll : Access to the path . 中发生类型为 'System.UnauthorizedAccessException' 的未处理异常。被拒绝

我正在尝试将文件写入一个存在的目录,该目录由我在G:\\中创建,即不是系统目录或根驱动器,就像这样File.WriteAllBytes(directoryPath.Replace("wav","mp3"),asBytesArray);但这给我抛出了这个异常:Anunhandledexceptionoftype'System.UnauthorizedAccessException'occurredinmscorlib.dllAdditionalinformation:Accesstothepath'G:\Song'isdenied.我该如何解决这个问题?请帮忙!这是在我从VisualSt

c# - 在 Windows XP 上,在单个 c : drive 上以编程方式将页面文件设置为 "No Paging File"

我正在尝试编写一个C#/.NET应用程序来优化我们的XP工作站的硬盘驱动器将页面文件设置为“无页面文件”重启运行碎片整理实用程序以优化数据和应用创建一个连续的页面文件重新启动,从Sysinternals运行pagedefrag我真的很纠结#1。我删除了以下键:SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\PagingFiles重新启动后,系统控制面板显示“无页面文件”,但c:\pagefile.sys仍然存在并且正在被SYSTEM进程使用,所以我无法删除它,也无法优化HD。我尝试使用PendingFil

C# File.Replace 防止崩溃

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