Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 动作MVC中对象的生命周期_C#_Asp.net_Asp.net Mvc_Dispose - Fatal编程技术网

C# 动作MVC中对象的生命周期

C# 动作MVC中对象的生命周期,c#,asp.net,asp.net-mvc,dispose,C#,Asp.net,Asp.net Mvc,Dispose,当类的对象在ASP.NET MVC中释放的控制器的操作中时?除非您显式地释放它,否则每当垃圾收集器运行时,它都会被释放。没有办法知道什么时候会发生。这是假设存储在某处的对象没有其他引用 注意:“Dispose”在这里表示清理连接或非托管内存等资源。这是由实现IDisposable的对象完成的 在垃圾收集器运行之前,对象本身不会从内存中删除(即使已释放)。不建议尝试强制垃圾回收。除非您显式地处理它,否则垃圾回收器每次运行时都会处理它。没有办法知道什么时候会发生。这是假设存储在某处的对象没有其他引用

当类的对象在ASP.NET MVC中释放的控制器的操作中时?

除非您显式地释放它,否则每当垃圾收集器运行时,它都会被释放。没有办法知道什么时候会发生。这是假设存储在某处的对象没有其他引用

注意:“Dispose”在这里表示清理连接或非托管内存等资源。这是由实现IDisposable的对象完成的


在垃圾收集器运行之前,对象本身不会从内存中删除(即使已释放)。不建议尝试强制垃圾回收。

除非您显式地处理它,否则垃圾回收器每次运行时都会处理它。没有办法知道什么时候会发生。这是假设存储在某处的对象没有其他引用

注意:“Dispose”在这里表示清理连接或非托管内存等资源。这是由实现IDisposable的对象完成的


在垃圾收集器运行之前,对象本身不会从内存中删除(即使已释放)。不建议尝试强制垃圾收集。

您能用一些代码详细说明一下吗?您要处理的对象是否实现了
IDisposable
?不,我正在使用的是一个简单的类对象。我计划手动处理它。您能用一些代码详细说明一下吗?您要处理的对象是否实现了
IDisposable
?不,我使用的是一个简单的类对象。我计划手动处理。非常感谢您的回复。您能告诉我如何在Action内手动处理对象吗。请注意,如果“disposed”仅用作“从内存中删除”,而不是用作“when
IDisposable
将被删除”,则只会应用第二部分(当GC感觉如此时从内存中删除)。如果对象实现IDisposable,则您可以对其调用.Dispose。或者,您可以通过将其包装在using块中来隐式地处理它。另外,如果你的意思是什么时候收集内存,那么你就不能用任何可靠的方式手动强制(你也不应该这样做,这是不好的做法)@G.R您不必担心。@Mystere我所说的对象是一个用于显示菜单的大型对象。因此,在操作中手动处理它好吗?它是否有助于提高性能?我是说Web服务器的ram使用率?非常感谢您的回答。您能告诉我如何在Action内手动处理对象吗。请注意,如果“disposed”仅用作“从内存中删除”,而不是用作“when
IDisposable
将被删除”,则只会应用第二部分(当GC感觉如此时从内存中删除)。如果对象实现IDisposable,则您可以对其调用.Dispose。或者,您可以通过将其包装在using块中来隐式地处理它。另外,如果你的意思是什么时候收集内存,那么你就不能用任何可靠的方式手动强制(你也不应该这样做,这是不好的做法)@G.R您不必担心。@Mystere我所说的对象是一个用于显示菜单的大型对象。因此,在操作中手动处理它好吗?它是否有助于提高性能,我是说Web服务器的ram使用率?