Я отладил и вижу, что мы будем ловить два раза за один запрос.
если я только читаю тело сущности, затем вставляю снова, не внося никаких изменений, второй запрос будет иметь ровно содержимое и запрос будет выполняться нормально. Исходный код выглядит следующим образом:
// Получить тело запроса.
hr = pHttpRequest-> ReadEntityBody (
pvRequestBody, byteCount, false, & byteCount, NULL);
pHttpRequest-> InsertEntityBody (pvRequestBody, byteCount);
если я прочитаю тело сущности, а затем заменим 'ngo + duc + huy' на 'ngy + van + qua' (это успешно), второй запрос будет иметь неверное содержание. Этот запрос имеет странное содержание: 'ÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝ'
итак, запрос не запустил свойство. Исходный код выглядит следующим образом:
// Получить тело запроса.
hr = pHttpRequest-> ReadEntityBody (
pvRequestBody, byteCount, false, & byteCount, NULL);
size_t найдено (0);
string requestContent = static_cast (pvRequestBody);
found = requestContent.find ("ngo + duc + huy");
if (найдено! = string :: npos)
{
requestContent =
requestContent.replace (requestContent.find ("ngo + duc + huy"), sizeof ("ngo + duc + huy") - 1,
"ngu + van + qua"); < br />
}
pvRequestBody = (void*)requestContent.c_str();<br />
pHttpRequest->InsertEntityBody(pvRequestBody, byteCount);<br />
Вы можете скачать мое простое решение по адресу: http://www.4shared.com/file/OJr8GFJQ/HelloWorld_2.html