我正在创建一个对象(下面的obj)使用并返回该对象作为函数return的一部分.这会导致在我尝试在另一个函数中使用返回值之前处理像object之类的任何问题吗?
using (MyObject obj = new MyObject())
{
.
.
.
return obj;
}
Run Code Online (Sandbox Code Playgroud) 我有 ac# 网络服务。当我收到新请求时,我创建一个日志记录实例。我有许多其他类的实例来处理请求,我希望它们也记录下来。共享日志记录实例而不将其传递到构造函数或属性中的最佳方法是什么?
我有一个对象,我需要为IIS中的Web应用程序缓存其中的几个,所以我正在分析每个实例使用多少内存.
我写了一个小的exe,我GC.GetTotalMemory(true)在构造之前和之后调用,差异大约是335k,但如果分析CLR profiler它显示我22 MB的内存用于没有意义的对象.
我在CLR分析器中错误地解释了什么?
我应该在哪里检查分析器以查看单个对象大小?
我们有类似下面的代码来修复CA2000:在丢失范围之前处理对象(http://msdn.microsoft.com/en-us/library/ms182289.aspx).当tbl被赋值为null时,它引用垃圾的对象会被收集吗?
private DataTable BuildRequestDataTable(Factory tableFactory)
{
DataTable tbl = null;
DataTable requestTable = null;
try
{
tbl = tableFactory.CreateTable();
requestTable = tbl;
tbl = null;
}
finally
{
if (tbl != null)
{
tbl.Dispose();
}
}
return requestTable;
}
Run Code Online (Sandbox Code Playgroud)