Я использую объект HttpWebRequest
для загрузки файлов с использованием SSL
с сертификатом клиента, у меня есть действующий сертификат на моем сервере, в моем приложении возникла проблема с утечкой памяти, и Microsoft опубликовала что-то, связанное с проблемой, по следующей ссылке:
ИСПРАВЛЕНИЕ: утечка памяти при использовании SSL и клиентских сертификатов с объектом HttpWebRequest
Есть ли какой-нибудь обходной путь, чтобы избежать этой утечки памяти, особенно потому, что каждый запрос потребляет 8 КБ утечки памяти, это приведет к тому, что мое приложение будет потреблять так много памяти.
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateRemoteCertificate);
request.Method = "POST";
request.ContentType = "text/xml; charset=utf-8";
утечки памяти были обнаружены с помощью .NET Memory Profiler, и он показывает, что объект HttpWebRequest
имеет массив байтов, который приводит к утечке памяти, я размещение объектов потока и запроса.
Я попробовал этот случай с SSL
и without SSL
, утечки исчезли в запросах, отличных от SSL
.