20得票3回答
我需要关闭.NET服务引用客户端吗?

我想了解在使用完.NET服务引用客户端后是否有必要关闭它。几乎所有我在网上找到的示例似乎都没有关闭,但生成的客户端实现了IDisposable,因为它确实打开了与服务的连接,所以我的直觉告诉我在完成后需要关闭该连接。 这是我从 http://msdn.microsoft.com/en-us/...

10得票1回答
在Entity Framework 4中处理对象上下文的释放问题

我有一个实体类,它是从我的数据库模型自动生成的。这个类继承了 ObjectContext,而 ObjectContext 又继承了 IDisposable。 我创建了一个仓储(repository),其中包含各种方法,这些方法使用实体对象的单个实例与数据库进行交互。 自动生成的类。publ...

11得票4回答
IDisposable:在finally {}中需要检查null吗?

大多数在网上找到的示例,当明确不使用 "using" 时,模式看起来像这样: SqlConnection c = new SqlConnection(@"..."); try { c.Open(); ... } finally { if (c != null) /...

8得票7回答
C# IDisposable Using:最佳实践

我一直在使用USING语句来包装我的OracleConnection和OracleCommand对象,但是在运行代码分析器后,我发现OracleParameter也实现了IDisposable。以下代码是否正确?有没有更好的可读性或结构技巧?乍一看,它似乎只是充斥着USING语句: usin...

42得票7回答
如何协调使用IDisposable和IoC?

我终于开始理解C#中的IoC和DI,但是有些地方仍然让我感到困惑。我正在使用Unity容器,但我认为这个问题更广泛适用。 使用IoC容器来分发实现IDisposable接口的实例让我很不安!你如何知道是否应该Dispose()它?这个实例可能只是专门为你创建的(因此你应该Dispose())...

66得票5回答
在调用ReadAsStreamAsync时何时或是否需要处理HttpResponseMessage?

我正在使用 System.Net.Http.HttpClient 进行客户端HTTP通信。我将所有HTTP代码都抽象到一个地方,使其与其他代码分离。在某些情况下,我希望将响应内容作为流读取,但是流的使用者与HTTP通信发生的位置以及打开流的具体细节相隔较远。在负责HTTP通信的代码中,我正在销...

87得票3回答
HttpClientFactory创建的HttpClient实例应该被销毁吗?

所以,我在我的Startup.cs中向服务集合注册了一个命名客户端: services.AddHttpClient(someServiceName, client => client.BaseAddress = baseAddress);...

9得票4回答
IDisposable接口是如何工作的?

我知道它被用来释放非托管资源,但是我对Dispose什么时候实际调用感到困惑。 我知道它在using块的末尾被调用,但当对象被垃圾回收时它也会被调用吗?

15得票6回答
调用Dispose()与对象超出范围/方法完成时的区别

我有一个方法,其中包含一个 try/catch/finaly 块。在 try 块内部,我声明了一个 SqlDataReader 如下:SqlDataReader aReader = null; aReader = aCommand.ExecuteReader(); 在fin...

10得票4回答
如何对IDisposable进行单元测试?

我正在编写一个与IDisposable相关的库代码部分。通过using的托管路径易于测试。但是我在想最终器:调用System.GC.Collect()是否足以强制运行终结器?