Иллюстрированный самоучитель по Architecture .NET

Передача параметров серверному обработчику

PARAMETER_DATA *pparams =
(PARAMETER_DATA *)pMemoryManager › Allocate(
// Распределить
sizeof(PARAMETERJDATA));
// установить параметры, которые будут
// переданы методу замен
char *szToken = strtok(// символ
(LPSTR)szArgumentData, ", "); // получить 1-й параметр
pparams › index = atoi(szToken); // сохранить 1-й параметр
szToken = strtok(NULL, "\""); // ПУСТОЙ УКАЗАТЕЛЬ –
// пропустить пробелы, символы табуляции и пустой строки
szToken = strtok(NULL, "\""); // ПУСТОЙ"УКАЗАТЕЛЬ –
// получить 2-й параметр
strcpy(pparams › string, szToken); // строка – сохранить
// 1-й параметр
// передать параметры обратно через ppArgument
ppArgument = &pparams;
return HTTP_SUCCESS;
}
// метод замены принимает два параметра в структуру
[ tag_name(name="HandleTwoParameters",
parse_func="parseTwoParametersFunction") ]
HTTP_CODE HandleTwoParameters(PARAMETER_DATA* pArgument)
{
m_HttpResponse
<< "First parameter was " // Первый параметр был
<< pArgument › index << "<p>" // индекс
<< "Second parameter was \"" // Второй параметр был
<< pArgument › stnng << "\"<p>" // строка
<< "The ASCII code for this index is "
// Код ASCII для этого индекса
<< pArgument › string[pArgument › index];
return HTTP_SUCCESS;
}

Иллюстрированный самоучитель по Architecture .NET › Web-узлы и Web-службы, работающие на основе ATL Server › Передача параметров серверному обработчику
Рис. 12.14. Просмотр pass_two_parameters.srf

Результат передачи двух параметров отображается с помощью соответствующего файла pass_two_parameters .srf (pass two parameters – "передать два параметра").

{{handler ATLServerApp.dll/pass_two_parameters}}
{{HandleTwoParametersdO, "here is a bit of text")}}

Этот результат можно увидеть, перейдя по адресу http://localhost/ATLServerApp/pass_two_parameters.srf. Что получается при этом, показано на рис. 12.14.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.