2013-03-19 4 views
1

Я прочитал много статей и документации и все еще неясно, что я могу включить в файлы global.asax и _AppStart.cshtml.Какой код я могу включить в global.asax и _AppStart.cshtml на веб-сайте Web-страниц v2?

Я пытался ставить простые вещи, как

@{ 
    var rlist = new List<string>(); 
    rlist.Add("Value1"); 
    rlist.Add("Value2"); 
} 

в обоих файлах и пытались использовать их в своем Default.cshtml, не luck..it говорит, что его не определен в контексте.

Я думал, что этот код будет узнаваем везде.

Единственный способом я нашел, что это работает только для _AppStart.cshtml является назначая мой вар словаря AppState:

@{ 
    var rlist = new List<string>(); 
    rlist.Add("Value1"); 
    rlist.Add("Value2"); 
    AppState["rlist"] = rlist; 
} 

Тогда я могу ссылаться через мои страницы в Rlist переменного что-то вроде этого:

var soulis = ((List<string>) AppState["rlist"]); 

В Global.asax выше не работает ..

Может кто-то объяснить, что хап pening?

+1

Параметр 'global.asax' файл для приложения и запуска сеанса и прекратить процедуры. Попробуйте искать [здесь] (http://msdn.microsoft.com/en-us/library/1xaas8a2%28v=VS.71%29.aspx). – Paul

+0

Так получилось, но как насчет _AppStart.cshtml – e4rthdog

ответ

2

AppStart - это файл фреймворка веб-страниц, который выполняется один раз, когда приложение запускается так же, как Global.asax. Я подозреваю, что он был разработан специально для защиты новичков от всех событий, которые Global.asax включает по умолчанию, когда этот файл генерируется Visual Studio/WebMatrix.

Вы можете использовать Global.asax для подключения к определенным событиям для выполнения любого кода, который вам нравится.

AppStart предназначен для простых вещей, таких как инициализация помощников, например. помощник WebSecurity или для установки глобальных переменных. Если вы объявите переменные, они будут доступны только через приложение, если они объявлены глобальными. Вы открыли один из способов сделать это:

AppState["rlist"] = rlist; 

Или вы можете использовать динамические особенности веб-страниц:

App.rlist = rlist; 
+0

Так что скажем, что я включаю проект DAL на своем веб-сайте. где мне нужно создать новый DAL-объект? В appstart? global.asax или на каждой странице? – e4rthdog

+1

Я бы создал его везде, где это было необходимо. Если вы создадите такую ​​вещь как глобальную переменную, каждый пользователь будет использовать один и тот же экземпляр. Это вообще не очень хорошая идея. –

+0

Я вижу ... спасибо ... – e4rthdog