У меня есть небольшая служба REST, которую я запускаю через HttpSelfHostServer (ASP.Net WebApi Beta), но у меня есть некоторые проблемы десериализации данных, которые отправляются на сервер. Подпись метода заключается в следующем:HttpContent.ReadAsAsync Проблема десериализации
public HttpResponseMessage PostServers(ServerType serverType)
метод вызывается хорошо, однако на десериализации данных, используя следующий код:
var servers = Request.Content.ReadAsAsync<List<ServerZoneInformation>>().Result;
...
IOException брошен с сообщением «не может получить доступ к закрытый поток ". Та же ошибка возникает при попытке десериализации код Однако я могу получить метод, чтобы работать, если я использую следующие через
XmlSerializer serializer = new XmlSerializer(typeof(List<ServerZoneInformation>));
var servers = (List<ServerZoneInformation>)serializer.Deserialize(Request.Content.ReadAsStreamAsync().Result);
...
:
XmlSerializer serializer = new XmlSerializer(typeof(List<ServerZoneInformation>));
string data = Request.Content.ReadAsStringAsync().Result;
using (MemoryStream ms = new MemoryStream(UTF8Encoding.UTF8.GetBytes(data)))
{
var servers = (List<ServerZoneInformation>)serializer.Deserialize(ms);
...
}
Могу ли я делать Somthing неправильно в первых двух случаях, или это ошибка в WebApi?
Примечание: Я еще не пробовал это при размещении через IIS.
Приветствие
Бен