Распечатайте все переменные сессии/сообщения/получать на странице ASP.NET

Я очень плохо знаком с ASP.NET, я вполне привык к PHP (который мы, к сожалению, не используем на работе), я хотел бы распечатать все переменные сеанса. В PHP это довольно легко, я использую:

echo '<pre>' . print_r($_SESSION, true) . '</pre>';

для этого, но там как - легкий эквивалентный ASP.NET?

5
задан skerit 18 January 2010 в 17:49
поделиться

3 ответа

Вам в значительной степени придется переопределить свою функцию:

def some_func(*args, **kwargs):

и самостоятельно выполнить упаковку. Нет пути указывать разницу между pass-by-position, pass-by-keyword и default.

-121--2105201-

На самом деле...

C++ имеет что-то называемое принципом «как бы». Все охранники, на которых сделаны ссылки во всех этих ответах, относятся только к наблюдаемому поведению. Компилятору разрешено эллюдировать, переупорядочивать, добавлять и т. д. любой вызов функции, при условии, что наблюдаемое поведение является таким, как если бы оно выполнялось как первоначально записано. Это относится и к деструкторам.

Технически ваше наблюдение верно: компилятору разрешено уничтожить объект раньше, если он не используется, и отсутствуют наблюдаемые побочные эффекты от деструктора или какой-либо вызываемой им функции. Но, вы уверены, что не сможете сказать, что это происходит вне отладчика, потому что если бы вы смогли сказать, компилятор больше не смог бы это сделать.

Скорее всего, компилятор использует эту силу, чтобы сделать что-то полезное, например, полностью исключить тривиальный деструктор, а не фактически переупорядочить вызовы деструктора, однако.

Изменить: Кому-то нужна ссылка... 1.9/5, вместе со сноской 4 проекта стандарта C++ 0x (это не новое правило, у меня просто нет удобного стандарта C++ 03. Он также присутствует в стандарте C, AFAIK)

1,9/5:

Согласованная реализация, выполняющая хорошо сформированную программу, должна производить такое же наблюдаемое поведение как одна из возможных последовательностей выполнения соответствующего экземпляра абстрактной машины с одна и та же программа и один и тот же вход. Однако, если какая-либо такая последовательность выполнения содержит неопределенную операцию, этот Международный стандарт не предъявляет никаких требований к реализации, выполняющей эту программу с (даже не в отношении операций, предшествующих первой неопределенной операции).

Сноска 4:

Это положение иногда называют правилом «как если», поскольку осуществление может не учитывать любое требование настоящего Международный стандарт, если результат таков, как если бы требование было выполнено, насколько это может быть определено из наблюдаемое поведение программы. Например, фактическая реализация не должна вычислять часть выражения, если она может сделать вывод, что его значение не используется и что никаких побочных эффектов, влияющих на наблюдаемое поведение программы, не возникает.

Мое чтение (и то, что я думал было общим пониманием) заключалось в том, что это то, что позволяет компилятору свободной рукой делать все, что он хочет (то есть позволяет оптимизировать), если наблюдаемое поведение является поведением исходного письменного источника - включая перемещение вокруг деструкторов, а не уничтожение объектов вообще, изобретение деструкторов и т.д.

-121--1853103-

с маркировкой.

foreach (string i in Session.Contents) {
  if (Session[i] != null) {
    box.Text += i + " = " + Session[i].ToString() + "\n";
  }
}
6
ответ дан 18 December 2019 в 10:44
поделиться

Ваш самый простой маршрут - просто включить трассировку. Это покажет вам всю эту информацию автоматически. Вы можете сделать это на странице или на уровне приложений.

Вот это быстрое руководство на начала.

6
ответ дан 18 December 2019 в 10:44
поделиться

Использование HTTPREQUEST.Params :

получает комбинированный сборник запрос, форм, ServerVarible и элементы файлов cookie.

4
ответ дан 18 December 2019 в 10:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: