Вам необходимо закрыть поток запросов.Вы просто закрываете StreamWriter
, а не основной поток запросов.Пока вы в нем, удалите лишние MemoryStream
и сделайте запись DataContractJsonSerializer
непосредственно в поток запросов.
HttpWebRequest request = (HttpWebRequest) asuncResult.AsyncState;
using (Stream outStream = request.EndGetRequestStream(asyncResult));
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(MyCustomClass));
ser.WriteObject(outStream, MyCustomClassObject);
outStream.Flush();
outStream.Close();
}
request.BeginGetResponse(new AsyncCallback(ResponceProceed), request);
Также избавьтесь от этой строки: -
client.ContentLength = MaxSerializationSize;
Не отключая также AllowWriteStreamBuffering
(что в любом случае возможно только в реализации ClientHTTP
), нет необходимости устанавливать ContentLength
, что сделано для вас.