使用对象优化C#Web API的内存管理的最佳实践

时间:2019-01-01 02:54:07

标签: c# memory-leaks

有两种方法可以创建对象并使用C#访问对象的属性和方法。

但是我无法决定推荐哪种方法来处理C#Web API环境的良好内存管理。

我们说我有一个Person类,如下所示:

public class Person 
{
  public string Name {get;set;}
  public int Age {get;set;}
}

下面考虑的哪种情况是创建和使用对象以实现更好的内存管理的最佳实践。

方案1:使用构造函数

public class MembershipManager
{
   private readonly Person _person;

   public MembershipManager()
   {
      _person = new Person();
   }

    public Person GetPerson(string name)
    { 
       /*Access methods or properties using [_person] object*/
    }
}

方案2:USING语句(使用IDisposable实现)

public class MembershipManager
{
   public Person GetPerson(string name)
   {
    using(var pm = new Person())
    {
      /*Access methods or properties using [pm] object*/
    }
   }
}

方案3 :(在每个API调用上)创建新对象

public class MembershipManager
{
  public Person GetPerson(string name)
  {
       Person person = new Person();
       /*Access methods or properties using [person] object*/
  }
}

0 个答案:

没有答案