httpwebrequest в .net cf без предварительной аутентификации - PullRequest
0 голосов
/ 04 ноября 2010

Я использую класс httpwebrequest в .net cf с учетными данными для дайджест-аутентификации. Я установил для свойства Preauthenticate значение true. Я понимаю, что первый запрос не будет содержать никакой аутентификации, а последующие запросы будут, но этого не происходит в .net cf.

Однако в полнофункциональной среде .NET это происходит очень хорошо.

Почему этот API отличается?

Если невозможно выполнить аутентификацию должным образом, могу ли я каким-либо образом вызвать аутентификацию путем анализа и создания своей собственной? Если да, как я могу это сделать?

Заранее спасибо за совет!

Subbu

1 Ответ

1 голос
/ 10 ноября 2010

Я наконец получил ответ и подумал, что это может быть полезно для других, если я опубликую его.

Поведение объекта .NET CF Httpwebrequest обманчиво просто.

Все, что мне нужно было сделать, - убедиться, что для свойства AllowStreamBuffering установлено значение true. Это позволяет должным образом буферизовать данные в потоке объекта перед его отправкой на сервер. Это также относится к последующим запросам, сделанным через тот же объект.

обманчиво просто:)

Кроме того, помимо вышеупомянутой проблемы, я также столкнулся с операциями тайм-аута. .NET CF имеет другое поведение с точки зрения области видимости локальной переменной. После анализа ответа с сервера всегда вызывайте метод Close объекта Httpresponse. Это не обязательно в полной версии .NET. Я думаю, это понятно с точки зрения поведения GC на устройстве с ограниченным объемом памяти.

...