我很惊讶地发现,由Ninject创建的我的对象中,至少有一个在请求结束时没有被处理,尽管它已经被定义为InRequestScope。 这是我试图处理的对象: 接口:public interface IDataContext : IDisposable { MessengerEnti...
我有一个类DocumentGenerator,它包装了一个MemoryStream。 因此,我在该类上实现了IDisposable。 然而,我看不到如何/在哪里可以释放它。 这是我的当前代码,在MVC中执行文件下载:using (DocumentGenerator dg = Documen...
最近,我在研究一些关于对象未处理的棘手错误。 我在代码中发现了一些模式。有人报告说一些m_foo没有被处理,而似乎所有SomeClass的实例都已经被处理了。public class SomeClass: IDisposable { void Dispose() { ...
通常,人们会编写类似这样的代码来使用 WebRequest 下载一些数据。using(WebResponse resp = request.GetResponse()) // WebRequest request... using(Stream str = resp.GetRespon...
可能重复: 使用多个变量的using语句 我有多个一次性对象需要管理。CA2000规则要求我在退出作用域之前释放所有对象。如果可以使用using子句,我不想使用.Dispose()方法。在我的特定方法中,我应该编写许多嵌套的using语句:using (Person pers...
关于托管资源和非托管资源有许多问题。我理解了这两者的基本定义。然而,我很难知道何时资源或对象是托管的还是非托管的。 当我想到非托管资源时,我往往会想到不直接属于.NET的本机代码,例如pinvoke或封送资源。我通常会认为旨在与将使用硬件的某些东西进行接口的资源,例如文件句柄或网络连接也是非...
为保护当事人的隐私,类名已更改。 如果我有一个名为 ISomeInterface 的接口,并且我有两个继承该接口的类,FirstClass 和 SecondClass。其中 FirstClass 使用必须被处理的资源,而 SecondClass 则不需要。 问题是,我应该从哪里继承 IDi...
我对在ASP.NET MVC应用程序中使用Entity Framework上下文的期望生命周期有一些疑问。将上下文保持存活状态的时间尽可能缩短难道不是最好的吗? 考虑以下控制器操作:public ActionResult Index() { IEnumerable<MyTable...
我正在尝试在托管的C++(.NET 2.0)中处理一个IDisposable对象(FileStream^ fs),但是收到错误消息:“Dispose' : is not a member of 'System::IO::FileStream”。它表示我应该调用析构函数。那么调用析构函数会怎样?...