用AutoFac替换出厂

我习惯于创建我自己的工厂(如图所示): public class ElementFactory { public IElement Create(IHtml dom) { switch (dom.ElementType) { case “table”: return new TableElement(dom); case “div”: return new DivElement(dom); case “span”: return new SpanElement(dom); } return new PassthroughElement(dom); } } 我终于开始在我当前的项目中使用IoC容器(AutoFac)了,我想知道是否有一些使用AutoFac优雅地实现同样function的神奇方法?

用ASP.NET MVC下载后如何删除文件?

我想在下载后立即删除文件,我该怎么办? 我试图FilePathResult并覆盖我删除文件后的WriteFile方法 HttpResponseBase.TransmitFile 被调用,但这会挂起应用程序。 用户下载后可以安全删除文件吗?

使用c#在IE中打开一个网页

如何在单击ac#application中的按钮时在IE中打开网页。 我的目的是为ac#应用程序创建一个Web登录,需要在IE中以指定的宽度和高度打开,并且需要在应用程序中调用一个函数。

创建自定义Html Helper:MyHelperFor

我想创建一个可以像使用一样的帮助器 @Html.MyHelperFor(m => m.Name) 这应该返回例如 如果它是@Html.MyHelperFor(m => m.MailID)这应该返回 我想,我应该能够在helper方法中访问Property名称来生成这种类型的帮助器。 我怎样才能做到这一点?

执行回滚 – 存储库集成测试

我想实现我的Entity Framework驱动的存储库的集成测试。 问题是如何在测试完成后回滚数据库状态。 目前,我计划在测试SetUp上启动事务,并在测试TearDown时将其回滚。 除手动数据库清除外还有其他解决方案吗?

NUnit中的数据驱动测试?

在MSTest中,您可以执行以下操作: [TestMethod] [DataSource(“Microsoft.VisualStudio.TestTools.DataSource.CSV”, “testdata.csv”, “testdata#csv”, DataAccessMethod.Sequential)] public void TestSomething() { double column1 = Convert.ToDouble(TestContext.DataRow[“column1”]); … Assert.AreEqual(…); } NUnit 2.5中的等效代码是什么?

检测C#代码中的递归调用

我想在我的代码中找到所有递归调用。 如果我在Visual Studio中打开文件,我会在编辑器的左侧看到“递归调用”图标。 我想检查这些电话的整个解决方案。 我使用Resharper命令行工具和VS的加载项Resharper – 代码检查没有运气,此规则未应用于其规则集。 有什么办法可以检查整个解决方案 – 我真的不想打开每个文件并检查那个蓝色的“递归调用”图标:) 编辑:我对单级递归很感兴趣

EntityFramework按ID获取对象?

Generics是否可以在不知道类型的情况下从我的EntityFramework中获取对象? 我正在考虑以下方面的事情: public T GetObjectByID(int id) { return (from i in myDatabase.T where i.ID == id select i); } 那可行吗? 我可以使用Reflection以某种方式获取T.GetType().Name并将其用于表吗? 编辑 另一个问题是,并非所有可用的表都使用“ID”作为其唯一的列名。

创建文本文件并下载

我正在尝试写入内存中的文本文件,然后下载该文件而不将文件保存到硬盘。 我正在使用StringWriter来编写内容: StringWriter oStringWriter = new StringWriter(); oStringWriter.Write(“This is the content”); 我如何下载此文件? 编辑:这是答案的组合,给了我我的解决方案。 这里是: StringWriter oStringWriter = new StringWriter(); oStringWriter.WriteLine(“Line 1”); Response.ContentType = “text/plain”; Response.AddHeader(“content-disposition”, “attachment;filename=” + string.Format(“members-{0}.csv”,string.Format(“{0:ddMMyyyy}”,DateTime.Today))); Response.Clear(); using (StreamWriter writer = new StreamWriter(Response.OutputStream, Encoding.UTF8)) { writer.Write(oStringWriter.ToString()); } Response.End();

在单身人士背后提取IoC容器 – 做错了吗?

通常,我喜欢让应用程序完全不知道IoC容器。 但是我遇到了需要访问它的问题。 为了消除痛苦,我使用了一个基本的单身人士。 在你跑山或拉出霰弹枪之前,让我回顾一下我的解决方案。 基本上,IoC单例绝对没有任何东西,它只是委托给必须传入的内部接口。我发现这使得使用Singleton减少痛苦。 下面是IoC包装器: public static class IoC { private static IDependencyResolver inner; public static void InitWith(IDependencyResolver container) { inner = container; } /// Container has not been initialized. Please supply an instance if IWindsorContainer. public static T Resolve() { if ( inner == null) throw new InvalidOperationException(“Container has not been initialized. Please […]