在编写http处理/模块,那是一口成员以执行所谓的 bool IsReusable.

有什么重要意义的这件?如果我把它设置虚假(或true),这是什么意思其他的网页应用程序?

有帮助吗?

解决方案

在正常入口点的处理程序是ProcessRequest方法。但是可能必须在类的构造这使它们是构建昂贵一些实例值一起代码。

如果指定可重复使用的是真实的应用程序可缓存实例和通过简单地一次次调用其ProcessRequest方法重用在另一个请求,而不必每次重建它。

应用程序将实例化作为许多这些处理程序的作为被需要处理的当前负载。

的缺点是,如果需要的话实例的数目大于实例较大的目前存在时,它们会导致使用更多的存储器。相反他们还可以明显减少内存使用,因为它们的实例值将生存GC周期,不需要频繁地重新分配。

另一个需要说明的是,你需要确保在的ProcessRequest执行结束对象的状态是正如您希望为另一请求重用对象。

其他提示

继AnthonyWJones的答案,如果你的HTTP处理程序true返回IsReusable那么你应该确保它是线程安全的。

有什么文件中表明,可重复使用的处理器不能同时重用,虽然目前微软实现只出现连续重复使用。但是,至少在理论上,单一的处理程序实例可以同时被多个请求重复使用,所以你不应该依赖于这可能是由其他并发线程修改任何数据。

如果您没有任何状态存储在该实例(即:你没有任何字段(又名“类变量”)),那么你应该是安全的重新使用。

这是默认假是在安全方面。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top