Довольно простая проблема, которая решается в PHP с помощью статической переменной.
private static $pages;
public function Pages() {
if($pages == null) {
$pages = new PageCollection();
$pages->findAll();
}
}
Везде в моем коде я использую Pages () :: someFindFunction (), чтобы убедиться, что результаты выбираются только один раз, и использую эту же коллекцию.
Я хочу то же самое в моем приложении .NET MVC: используйте что-то вроде:
<%=MySite.Pages.findById(1).Title%>
В приведенном ниже коде, если я использую закрытую переменную или если я использую открытый класс с общими переменными (не имеет значения), они оба сохраняются в течение всего приложения.
Я хочу, чтобы они загружались так же, как PHP, один раз за запрос. Где я могу хранить .NET-эквивалент private static $pages
, чтобы работал приведенный ниже код?
//what to do with $pages??
Public Module MySite
Public Function Pages() As PageCollection
If $pages Is Nothing Then
$pages.loadAll()
End If
Return $pages
End Function
End Module