У меня есть программа, работающая в цикле (консольное приложение), и она должна загрузить некоторый файл в API.
Это мой код:
Using(WebClient wc = new WebClient())
{
var serialized = JsonConvert.SerializeObject(rm);
wc.Headers[HttpRequestHeader.ContentType] = "application/json";
string myResult = wc.UploadString(URL,serialized);
}
Этот код находится вметод, и этот метод вызывается время от времени, в зависимости от времени обработки алгоритма.Например, я загружаю некоторые файлы с сервера, а затем загружаю их на другой сервер с указанным выше кодом.Затем я загружаю и загружаю снова ...
На первой итерации этот метод загрузки работает правильно.Однако во второй итерации мне выдается исключение «Поток был прерван».
Раньше я использовал HttpClient, поэтому я перешел на WebClient, потому что HttpClient вызывал ту же проблему.
Может кто-нибудь, пожалуйста, помогите мне с этим вопросом?
Исключение stackTrace:
at System.Net.Connection.SyncRead(HttpWebRequest request, Boolean userRetrievedStream, Boolean probeRead)
at System.Net.ConnectStream.ProcessWriteCallDone(ConnectionReturnResult returnResult)
at System.Net.HttpWebRequest.CheckDeferredCallDone(ConnectStream stream)
at System.Net.HttpWebRequest.GetResponse()
at System.Net.WebClient.GetWebResponse(WebRequest request)
at System.Net.WebClient.DownloadBits(WebRequest request, Stream writeStream, CompletionDelegate completionDelegate, AsyncOperation asyncOp)
at System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data, WebRequest& request)
at System.Net.WebClient.UploadString(Uri address, String method, String data)
at System.Net.WebClient.UploadString(String address, String data)
at Bizagi.DownloadUpload.UploadHelper.UploadFile(Risk rm, Stopwatch sla) in C:\Users\...\UploadHelper.cs:line 189
at Bizagi.DownloadUpload.UploadHelper.UploadToRisk(TACTIVE obj, String destination, Stopwatch timerSLA) in C:\Users\...\UploadHelper.cs:line 36
введите описание изображения здесь