草庐IT

回收站

全部标签

c# - 我怎么知道一个目录是C#中的回收站?

给定一个文件夹,我如何判断它是一个回收站?我找到了一个answer适用于C++但不适用于C#。我的第一个想法是检查FileAttributes.System(在我的情况下这是一个可接受的近似值),但实际上该标志在回收文件夹中被清除。使用硬编码文件夹名称的原始解决方案是不可能的(我们毕竟是2009年)。 最佳答案 这里有个小问题。Windows回收站是一个虚拟文件夹,实际上并不存在。您看到的文件实际上并不在该文件夹中,它们是磁盘上已重命名为特殊名称的现有文件的表示,这会将它们从可见文件系统中“删除”,但不会从物理文件系统中删除。您可以

c# - 如何将文件移动到回收站

我需要在.net2003中将文件移动到回收站我从refrence添加了microsft.visualbasic.runtimedll,但我无法获取filesystem.deletedirectory,那该怎么办..任何人都可以帮助我吗? 最佳答案 我找到了这个,不知道它是否有效,但值得一试。usingMicrosoft.VisualBasic;stringpath=@"c:\myfile.txt";FileIO.FileSystem.DeleteDirectory(path,FileIO.UIOption.OnlyErrorDial

c# - 垃圾回收应该已经删除了对象,但 WeakReference.IsAlive 仍然返回 true

我有一个我希望通过的测试,但是垃圾收集器的行为并不像我想象的那样:[Test]publicvoidWeakReferenceTest2(){varobj=newobject();varwRef=newWeakReference(obj);wRef.IsAlive.Should().BeTrue();//passesGC.Collect();wRef.IsAlive.Should().BeTrue();//passesobj=null;GC.Collect();wRef.IsAlive.Should().BeFalse();//fails}在这个例子中,obj对象应该被GC,因此我希望W

c# - IIS 抛出 ThreadAbortException 并回收 worker,IIS 日志记录为 "IIS configuration change"的可能原因是什么?

当后台线程正在运行时,我开始在Appharbor上托管的.NetMVC网络应用程序中看到错误-经过仔分割析-我无法找出原因。首先,我注意到的异常是ThreadAbortException。然而,这实际上只是表示线程正在被杀死。在线程被杀死之前,您可以看到IIS创建了一个新的worker,并在同一台机器上调用了Application_Start。新应用程序启动并运行后,IIS会终止旧应用程序并按预期处理新请求。同时,IIS记录一条消息:ShutDownMessage:IISconfigurationchangeHostingEnvironmentinitiatedshutdownHost

c# - IIS应用程序池回收+ quartz 调度

我在IIS7.5上运行一个Web应用程序,它需要偶尔回收(否则内存使用会失控,我正在调查!)。当它回收时,它实际上不会运行,直到另一个请求进来,quartz不会运行。有没有办法让IIS在回收应用程序池后立即自动启动1个工作进程以确保quartz始终在线? 最佳答案 是的!http://weblogs.asp.net/scottgu/archive/2009/09/15/auto-start-asp-net-applications-vs-2010-and-net-4-0-series.aspx细节非常好,基本上你需要:编辑C:\Wi

c# - 回收调用Application_Start吗?

是否在IIS7中调用Application_Start进行回收?谢谢 最佳答案 不,当应用程序实际由IIS加载时,它会在回收后的第一个请求上调用。 关于c#-回收调用Application_Start吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12027471/

C# 类取消删除文件?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:HowdoIrestoreafilefromtherecyclebinusingC#?Recoveringdeletedfileonwindows我正在开发一个应用程序,旨在从系统中恢复已删除的文件(包括来自回收站的文件和那些已经从回收站清空但仍然可以理解的文件)和格式化的驱动器。我决定使用c#作为语言,但我很难找到处理这个问题的类。有谁知道用于查找已删除文件、检索它们的任何类/方法或任何教程或有关此事的帮助。我在这方面经验不足,因此非常感谢任何帮助。

c# - 发送文件到回收站,大文件永久删除

好的,在.net中有两种方法可以将文件发送到回收站,使用Microsoft.VisualBasic.FileIO.FileSystem.DeleteFile或使用SHFileOperation。两者都很好,但如果文件无法放入回收站,它们将永久删除文件。如果文件太大或者只是不删除它,它是否有可能抛出异常或返回bool值?(不要默认确认对话框)我得到的一种方法是获取该卷允许的最大回收站大小,然后减去已用大小并检查文件是否将发送到RB或永久删除,但如果删除许多文件并再次检查可能会变坏又一次。还有什么我可以尝试的吗? 最佳答案 这道题并没有

C# 参数引用和 .net 垃圾回收

我一直在努力弄清楚.NET垃圾收集系统的复杂性,并且我有一个与C#引用参数相关的问题。如果我理解正确的话,方法中定义的变量存储在堆栈中,不受垃圾回收的影响。所以,在这个例子中:publicclassTest{publicTest(){}publicintDoIt(){intt=7;Increment(reft);returnt;}privateintIncrement(refintp){p++;}}DoIt()的返回值将为8。由于t的位置在堆栈上,因此该内存不能被垃圾回收或压缩,并且Increment()中的引用变量将始终指向t的正确内容.但是,假设我们有:publicclassTes

c# - 字符串和垃圾回收

我听说过关于这个主题的相互矛盾的故事,我正在寻找一些清晰的信息。如何立即处理一个string对象,或者至少清除它的痕迹? 最佳答案 这取决于。文字字符串是interned默认情况下,即使您的应用程序不再引用它,它也不会被收集,因为它被内部实习结构引用。其他字符串就像任何其他托管对象一样。一旦它们不再被您的应用程序引用,它们就有资格进行垃圾回收。更多关于实习的问题:WheredoJavaand.NETstringliteralsreside? 关于c#-字符串和垃圾回收,我们在StackO