草庐IT

file_cache

全部标签

c# - 电子邮件删除附件后,错误 "The process cannot access the file because it is being used by another process."

我正在做一个电子邮件表单。电子邮件有附件,并在附加文件后发送电子邮件。接下来需要从服务器删除文件。当我试图获取文件时,它给了我主题错误。我什至在删除文件之前调用了GC.Collect(),但错误仍然存​​在。我删除文件的代码是:privatevoidDeleteFiles(DataTabledt){GC.Collect();String[]sAttachments=newString[dt.Rows.Count];try{sAttachments=newString[dt.Rows.Count];for(Int32J=0;J要将文件附加到电子邮件,我的代码是:oMess.Subject

c# - 如何实现异步 File.Delete/Create/Move?

由于我必须在我的应用程序中进行大量文件I/O操作,我决定异步实现它们。查看MSDN,没有File.Create、File.Delete和File.Move的异步副本。据我了解,原因是不存在用于文件删除、创建或移动的异步Win32实现,所以我最终得到以下解决方案:publicstaticTaskDeleteAsync(stringpath){Guard.FileExists(path);returnTask.Run(()=>File.Delete(path));}publicstaticTaskCreateAsync(stringpath){Guard.IsNotNullOrWhites

c# - 错误 : Could not load file or assembly 'Microsoft. Practices.ServiceLocation,版本 = 1.0.0.0

我收到这个错误:Couldnotloadfileorassembly'Microsoft.Practices.ServiceLocation,Version=1.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35'oroneofitsdependencies.Thelocatedassembly'smanifestdefinitiondoesnotmatchtheassemblyreference.(ExceptionfromHRESULT:0x80131040)如果我的项目中已有另一个现有版本的Microsoft.Practic

c# - "Could not load file or assembly ' System.Core, Version=2.0.5.0,...”动态加载可移植类库时出现异常

首先,我需要强调的是,这个问题与thisthread中的问题略有不同。.此外,安装KB2468871没有帮助。我尽量简化了这个问题。一般来说,它是关于使用Assembly.LoadFile(...)在桌面应用程序中加载PCL程序集。假设有一个.NET4.0控制台应用程序(称为“C”)。它引用.NET4.0程序集(称为“N4”)和PCL程序集(称为“PCL”)。N4看起来像这样:usingSystem.Linq;namespaceN4{publicclassClassInN4{publicstaticstringGreet(){returnnewstring("hellofromN4".

c# - 如何在32位应用程序中获取64位 "program files"目录

我有一个以x86模式(在c#中)编译的应用程序,我需要从中访问64位程序文件文件夹(当然是64位Windows)中存在的某个文件。我不想在我的应用程序中将C:\ProgramFiles硬编码为字符串,因为一些目标计算机可能将Windows安装在不同的驱动器中,或者可能使用其他语言。我遇到的问题是使用Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)返回x86风格而不是所需的目录,除非我在64位模式下编译我的程序。出于好奇,我该怎么做才能避免这样做? 最佳答案

c# - 什么位置安装文件 - Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5

请耐心等待,我会尽量解释清楚。我开始了一个新项目(类库),目标是4.5而不是客户端配置文件4.5。我添加了一个引用“System.Runtime.Serialization”,属性表明它位于“C:\ProgramFiles(x86)\ReferenceAssemblies\Microsoft\Framework.NETFramework\v4.5\System.Runtime.Serialization”位置。dll”在我的电脑上,它可以通过使用msbuild的构建脚本正常编译。在使用teamcity的构建服务器上-它会提示errorCS0012:Thetype'System.Obje

c# - 在 ASP.NET 中将 UNC 路径转换为 ​​ 'file:///' URL

我需要将UNC路径转换为​​file:///URL。例如:\\fileserver\share\dir\somefile.ext-->file://///fileserver/share/dir/some%20file.ext是否有内置函数? 最佳答案 是的,使用System命名空间中的Uri类:Uriuri=newUri(@"\\fileserver\share\dir\somefile.ext");stringurl=uri.AbsoluteUri; 关于c#-在ASP.NET中将U

c# - System.Runtime.Caching.MemoryCache 的通用实现

MemoryCache是否有任何通用的替代方案/实现?我知道MemoryCache在底层使用Hashtable,所以只需转换为使用Dictionary,这是Hashtable的通用版本。这将提供类型安全并提供性能优势,因为无需装箱/拆箱。编辑:我感兴趣的另一件事是使用不同的key类型。默认值为System.String。 最佳答案 Isthereanygenericalternative/implementationforMemoryCache?不在基类库中。你必须自己动手,但就我个人而言,我只会围绕MemoryCache做一个包装

c# - 查看缓存在System.Web.HttpRuntime.Cache中的数据

是否有任何工具可用于查看HttpRunTime缓存中的缓存数据..?我们有一个Asp.Net应用程序,它正在将数据缓存到HttpRuntime缓存中。给定的默认值是60秒,但后来更改为5分钟。但是感觉缓存的数据在5分钟之前就刷新了。不知道下面发生了什么。是否有任何可用的工具或我们如何查看缓存在HttpRunTime缓存中的数据……以及过期时间……?以下代码用于将项目添加到缓存。publicstaticvoidAdd(stringpName,objectpValue){intcacheExpiry=int.TryParse(System.Configuration.Configurati

c# - ASP.NET 5(核心): How to store objects in session-cache (ISession)?

我正在编写一个ASP.NET5MVC6(Core)应用程序。现在我需要在session缓存(ISession)中存储(设置和获取)一个对象。您可能知道,ISession的Set方法接受一个byte-array和Get-方法返回一个。在非核心应用程序中,我会使用BinaryFormatter来转换我的对象。但是我怎样才能在核心应用程序中做到这一点呢? 最佳答案 我会将对象序列化为JSON,并使用ISession上的扩展方法将它们保存为string。//Savevarkey="my-key";varstr=JsonConvert.Ser