我很不喜欢WebForms,我更喜欢在.NET世界中使用ASP.NET MVC。但无论如何,我正在处理一个非常大的遗留WebForms应用程序的一小部分。
我正在集成Korzh.com的EasyQuery.NET,以允许最终用户创建基于预定义模型的SQL查询,这些模型使用别名使其更加用户友好。
这是相关的,因为Korzh的演示使用Global.asax作为其模型和查询类,以及Session。
由于遗留的WebForms应用程序非常庞大,因此不使用Global.asax进行页面特定项目。
我的解决方案是改用private static。静态变量在桌面应用程序中运行得很好,但在WebForms应用程序中似乎至少可能会引起一些麻烦。
我发现!IsPostBack不太可靠,我认为在WebForms中最佳实践可能是使用Session。Session的问题是它似乎随着HTML传递到客户端,并且可以以千字节为单位增长。
问题:
1.由于静态变量与WebForms一起使用时驻留在IIS服务器上,每个WebForms应用程序的用户是否共享相同的静态变量地址空间?(我认为答案是肯定的)。
2.在ASP.NET WebForms应用程序中使用/不使用静态变量的最佳实践/准则是什么?
谢谢。
我正在集成Korzh.com的EasyQuery.NET,以允许最终用户创建基于预定义模型的SQL查询,这些模型使用别名使其更加用户友好。
这是相关的,因为Korzh的演示使用Global.asax作为其模型和查询类,以及Session。
由于遗留的WebForms应用程序非常庞大,因此不使用Global.asax进行页面特定项目。
我的解决方案是改用private static。静态变量在桌面应用程序中运行得很好,但在WebForms应用程序中似乎至少可能会引起一些麻烦。
我发现!IsPostBack不太可靠,我认为在WebForms中最佳实践可能是使用Session。Session的问题是它似乎随着HTML传递到客户端,并且可以以千字节为单位增长。
问题:
1.由于静态变量与WebForms一起使用时驻留在IIS服务器上,每个WebForms应用程序的用户是否共享相同的静态变量地址空间?(我认为答案是肯定的)。
2.在ASP.NET WebForms应用程序中使用/不使用静态变量的最佳实践/准则是什么?
谢谢。