考虑一个动态调整大型 tiff 文件大小的 Web 应用程序。当用户调用操作时,每个大的 tiff 文件都会被调整为 jpg 缩略图和更大的 jpg。这些转换后的文件的尺寸始终相同。
在昨天的代码审查中,其他一位开发人员问我为什么要在 global.asax 中设置这些维度,如下所示:
Application["resizedImageWidth"] = int.Parse(ConfigurationManager.AppSettings["ResizedImageWidth"]);
,而不仅仅是在实际方法调用期间通过配置文件查找值。如果最终用户在测试应用程序后想要更改尺寸,我将宽度存储在配置文件中,这样我就不必更改内联代码。
我给出的理由是防止每次生成图像时从配置文件中读取,但无法回答在查找应用程序级别变量期间是否存在类似的开销。这种优化可能不会大规模影响性能,但我想知道社区认为更有效的解决方案是什么,即在应用程序启动期间设置它们,或者在方法调用期间动态读取它们。