当编写 http 处理程序/模块时,需要实现一个名为 - 的接口成员bool 是否可重用 https://learn.microsoft.com/en-us/dotnet/api/system.web.ihttphandler.isreusable.
这个成员的意义何在?如果我将其设置为 false(或 true),这对于网络应用程序的其余部分意味着什么?
处理程序的正常入口点是 ProcessRequest 方法。但是,您可能在类构造函数中包含一些代码,这些代码将一些构建成本高昂的实例值组合在一起。
如果将 Reusable 指定为 true,则应用程序可以缓存该实例并在另一个请求中重用它,只需一次又一次调用其 ProcessRequest 方法,而不必每次都重建它。
应用程序将实例化处理当前负载所需的尽可能多的处理程序。
缺点是,如果所需的实例数量大于当前存在的实例数量,则会导致使用更多内存。相反,它们还可以减少明显的内存使用,因为它们的实例值将在 GC 周期中幸存下来,并且不需要频繁地重新分配。
另一个需要注意的是,您需要确保在 ProcessRequest 执行结束时,对象状态符合您希望另一个请求重用该对象的状态。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)