0
您好我正在使用GZipStream压缩一个XML文件,并将其上传到一个web服务,这将返回一个gzipstream,我必须下载。我在C#中使用了使用WebClient的以下方法,但它引发异常“WebClient不支持并发I/O操作”。上传文件到webservice和下载文件它返回
byte[] data = Encoding.ASCII.GetBytes(xml);
MemoryStream input = new MemoryStream(data);
MemoryStream output = new MemoryStream();
GZipStream zip = new GZipStream(output, CompressionMode.Compress);
input.WriteTo(zip);
byte[] gzipStream = output.ToArray();
//Constructing Request
var postClient = new WebClient();
Uri uri = new Uri(url);
postClient.UploadDataAsync(uri, gzipStream);
var resStream = new GZipStream(postClient.OpenRead(url),CompressionMode.Decompress);
var reader = new StreamReader(resStream);
var textResponse = reader.ReadToEnd();
return textResponse;
请帮助我。
魔法门与UploadDataAsync()问题?尝试UploadData() – malkam
您确定需要对执行POST的同一个URI发出GET请求吗?或者您是否想要阅读POST响应? – CodeCaster
将gzip文件发布到Webservice后,服务将处理该文件并返回另一个gzip文件,作为我已下载的响应。 – user3611366