如何在C#中复制文件

我想在C#中将文件从A复制到B. 我怎么做?

中间件应该总是调用下一个?

我一直在努力了解ASP.NET 5管道中间件如何真正起作用。 正如我所知,中间件只是一个Func ,它是一个指向接收对下一个请求委托的引用的方法的指针,并返回一个包装下一个请求委托的新方法。 当然,我们可以使用类来表示中间件,例如: public class MyMiddleware { private readonly _next; public MyMiddleware(RequestDelegate next) { if (next == null) { throw new ArgumentNullException(“next”); } _next = next; } public Task Invoke(HttpContext context) { // New request delegate code here which can wrap the next one on the pipeline } } 由于RequestDelegate是一个委托,可以保存对接收一个HttpContext并返回Task的方法的Invoke因此Invoke方法是要返回的请求委托,并且可以访问管道上的下一个委托委托。 然后,在编写中间件时,我们可以访问管道的下一个组件,但我有一个疑问。 一开始我认为理想总是以下列方式工作: 检查中间件是否可以处理请求 […]

如何在VS2010中允许打破’System.NullReferenceException’?

我有一个VS 2010 C#.NET 4项目。 问题是程序在调试期间没有破坏’NullReferenceException’错误。 输出窗口将显示以下内容: A first chance exception of type ‘System.NullReferenceException’ occurred in myProgram.exe …但是调试器将退出该函数并继续运行该程序的其余部分。 如何更改此行为以便调试器将在这些exception中中断?

流畅的NHibernate生成和分配的ID列

我正在使用Fluent NHibernate来处理Web应用程序中的数据持久性。 我的问题…我有一个基类使用GeneratedBy()映射所有具有类型T的ID属性(几乎总是int或GUID)的实体.Identity() 在应用程序启动时,我有一个boot-strapper,它检查并validation所需的种子数据是否已填充。 我的问题是,填充的一些种子数据需要一个特定的ID。 (与枚举或系统用户对应的ID) 有没有办法强制NHibernate使用我指定的ID提交记录,而不是自动生成的ID? 之后对存储库的任何其他提交都可以自动生成。

如何在C#中使用Regex将短语拆分为单词

我试图使用正则表达式将句子/短语分成单词。 var phrase = “This isn’t a test.”; var words = Regex.Split(phrase, @”\W+”).ToList(); 单词包含“This”,“isn”,“t”,“a”,“test” 显然它正在捡起撇号并分裂。 我可以改变这种行为吗? 它还需要多语言支持各种语言(西class牙语,法语,俄语,韩语等)。 我需要将这些文字传递给拼写检查器。 特别是Nhunspell。 return (from word in words let correct = _engine[langId].Spell(word) where !correct select word).ToList();

C# – 我无法引用HttpPostedFileBase

我在CSLA的分布式环境中使用MVC .NET,我可以从我的一个Web层(例如Website.MVC)引用HttpPostedFileBase,但我不能从单独的层引用HttpPostedFileBase(我们称之为OtherLayer.Web)。 关于我需要做什么才能调用HttpPostedFileBase的任何想法? 我可以在两个层中使用HttpPostedFile – 我应该只使用它吗? 程序集引用基本相同 – 在Website.MVC我有: namespace Website.Mvc.Controllers { using System; using System.Collections; using System.Collections.Generic; using System.Web.Mvc; using System.Web; using System.IO; using PetOrganizer.Mvc.Helpers; using TrupanionPetInsurance.Web; 而在我的另一层我有: namespace OtherLayer.Web { using System; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Data; using System.Data.SqlClient; using System.IO; using System.Net.Mail; using System.Text; using System.Text.RegularExpressions; using System.Web; using […]

等待系统删除文件

删除文件后刷新文件列表时遇到问题。 当我命令删除文件时,抛出了exception,因为刷新方法试图访问应该删除的文件。 经过一番思考和调试后,我得出结论,问题在于系统需要一些时间来删除文件。 我这样解决它: //Deleting file System.Threading.Thread.Sleep(2000); //Refreshing list 它工作得很好。 我的问题是 是否有更优雅的方式等待系统删除文件然后继续代码…?

如何使用c#将标识列添加到数据表

如何使用c#将标识列添加到datatable。 我使用Sql compact服务器。

通过SkyDrive API将文件上传到skydrive

我尝试将文本文件上传到我的skydrive或者至少在SD中创建新的文本文件并通过我的Windows 8应用程序中的SkyDrive API编辑它的内容。 我怎样才能做到这一点? 我试着这样做: LiveConnectClient client = new LiveConnectClient(session); var fileData = new Dictionary(); fileData.Add(“name”, “new_file.txt”); try { LiveOperationResult fileOperationResult = await client.PutAsync(“me/skydrive”, fileData); this.infoTextBlock.Text = fileOperationResult.ToString(); } catch (LiveConnectException exception) { this.infoTextBlock.Text = exception.Message; } 但我收到错误“提供的请求无效。无法更新根SkyDrive文件夹。” 如果我写了类似“me / skydrive /”的内容,我会收到“提供的URL无效。不支持请求的路径”。 方法LiveConnectClient.PutAsync只允许我更新现有属性(但不是它的内容)。 应该如何正确地完成? 顺便说一句 – LCDC上的内容(http://msdn.microsoft.com/en-us/library/live/hh826531.aspx)是否已更新? 我问,因为dlls中不存在文档中的某些方法(fe LiveConnectClient.Upload。只有BackgroundUploadAsync)。 感谢您提前帮助,Micheal

如何使用MongoDB的官方C#驱动程序删除’ID’中的’文档’?

有人可以告诉我,如果有更好的方法从使用官方C#驱动程序删除MongoDB中的一个document ,而不是我在下面 – var query = Query.EQ(“_id”, a.Id); database.GetCollection(“Animal”).Remove(query); 这段代码有效,但对我来说似乎太过分了 。 例如,“保存”命令需要一个实例并对其进行更新。 我想要类似的东西 – Remove(item) 。 备注:我正在尝试使用C#的官方驱动程序,而不是看起来过时的NoRM或Samus 。