Asp.net 为什么.aspx继承了IDispose,而.ashx没有?

Asp.net 为什么.aspx继承了IDispose,而.ashx没有?,asp.net,Asp.net,它们都继承了接口IHttpHandler,因此asp.net将以相同的方式调用它们。但是为什么aspx页面继承了IDispose?Asp.net是如何实现的?Asp.netpage继承自基本的System.Web.UI.page类,该类反过来实现了抽象的System.Web.UI.TemplateControl类,该类继承自System.Web.UI.Control,后者实现了IDisposable 在代码中,有对控件类的Dispose()的注释: // Summary: // Enab

它们都继承了接口IHttpHandler,因此asp.net将以相同的方式调用它们。但是为什么aspx页面继承了IDispose?Asp.net是如何实现的?

Asp.netpage继承自基本的
System.Web.UI.page
类,该类反过来实现了抽象的
System.Web.UI.TemplateControl
类,该类继承自
System.Web.UI.Control
,后者实现了
IDisposable

在代码中,有对控件类的
Dispose()
的注释:

// Summary: // Enables a server control to perform final clean up before it is released // from memory. //总结: //允许服务器控件在释放前执行最终清理 //从记忆中。 这就是
.aspx
文件本质上实现
IDisposable
接口的原因


现在,ASP.NET处理程序直接实现了
System.Web.IHttpHandler
接口,而不继承任何其他类-作为独立的接口,它不实现
IDisposable
-是否添加这样的东西取决于程序员

那么您的问题是,如何调用aspx(
页面
)的
Dispose()
代码

您假设ASP.NET framework只看到
IHttpHandler
,无论它包含
页面
还是其他实现。这几乎肯定不是真的;需要调用页面的构造函数


您可以使用类似这样的工具来尝试查找不同的处理方式的位置以及外观。

请先阅读:很抱歉,此问题无法解决我的问题。应用程序将调用工厂(PageHandlerFactory或SimpleHandlerFactory)来制作IHttphandler,并以相同的方式处理它们(不使用“using”)。那么为什么aspx页面继承了IDisposeaspx的UI控件(应该有)。StakcOverflow更多的是解决开发过程中遇到的编程问题。如果您有非常具体的产品相关查询,最好询问供应商,在本例中是Microsoft。我的意思是,如果您有一个关于aspx有IDispose或ashx没有IDispose的实现问题,那么请描述这个问题。我们将向您展示该问题的解决方法。但是,如果你需要知道原因,最好询问微软的团队,不管多么感谢你,我的解决办法是“关于aspx有IDispose或ashx没有IDispose的实现问题”。我只懂得什么是深层次的原因。非常感谢你。