В Python все объекты выделяются на "куче".
, Но Python использует специальное средство выделения памяти, таким образом malloc
не будет назван каждый раз, когда Вам нужен новый объект.
существует также некоторая оптимизация для маленьких целых чисел (и т.п.), которые кэшируются; однако, который вводит, и как, является зависящим от реализации.
Вы пробовали что-то вроде этого:
Для почтового запроса:
foreach(string key in Request.Form.Keys )
{
Response.Write ( Request.Form[key] );
}
Для запроса на получение:
foreach(string key in Request.QueryString.Keys )
{
Response.Write ( Request.QueryString[key] );
}
Каждый из Request.Cookies
, Request.Form
, Request.QueryString
и Request. ServerVariables
- это NameValueCollection
или аналогичный. Вы можете запросить у каждого из них свои ключи и действовать оттуда.
foreach (string key in Request.QueryString.Keys)
{
string value = Request.QueryString[key];
// etc
}
Какие коллекции вам нужны, будет зависеть от цели этого - если это просто для диагностики, я бы хотел выгрузить их все.
Метод JohnFx работает хорошо. Вы также можете включить в смесь строку запроса, переменную сервера и данные cookie, используя коллекцию Request.Params, например:
foreach(string key in Request.Params.Keys)
{
Response.Write(String.Format("{0}: {1}<br />", key, Request.Params[key]));
}
. Будьте осторожны при использовании коллекции Request.Params
. Если переменная QUERYSTRING и переменная FORM имеют общий ключ Name и имеют значения Val1 и Val2, тогда значение Request.Params ["Name"]
будет "Val1, Val2".
Не читать из коллекции Request
, которая представляет собой составную коллекцию, которая содержит значения формы и строки запроса, а также файлы cookie и переменные сервера. Читайте из конкретных коллекций, из которых вы хотите получить данные, то есть Request.Form
(для POST) и Request.QueryString
(для GET).
Вот как вы можете объединить все ключи и значения в строку:
StringBuilder builder = new StringBuilder();
builder.AppendLine("Form values:");
foreach (string key in Request.Form.Keys) {
builder.Append(" ").Append(key).Append(" = ").AppendLine(Request.Form[key]);
}
builder.AppendLine("QueryString values:");
foreach (string keu in Request.QueryString.Keys) {
builder.Append(" ").Append(key).Append(" = ").AppendLine(Request.QueryString[key]);
}
string values = builder.ToString();
В объявлении .ASPX добавьте Trace = 'True'
<%@ Page Language="VB" Trace="True" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
Вы должны использовать Request.Form как коллекцию. Обратите внимание, что многозначные параметры (множественный выбор) сами превращаются в коллекцию. Пример есть на этой странице .
В дополнение к приведенным выше ответам, если вы хотите объединить коллекцию элементов QueryString, Form, ServerVariables и Cookies, то лучшим способом является использование HttpRequest.Params
В объявлении .ASPX добавьте Trace = 'True'
<%@ Page Language="CS" Trace="True" AutoEventWireup="false" CodeFile="Default.aspx.cs" Inherits="_Default" %>
Вы сможете увидеть данные форм, данные сеанса, приложения и т. Д.