Похоже, наше приложение имеет утечку сборки. Я заметил, что при любых вызовах, когда вызов веб-службы вызывается с использованием объекта HttpWebRequest, динамическая сборка загружается при вызове httpWebRequest.GetResponse ()
Я вижу, как сборка загружается через отладчик ('w3wp.exe' (Управляемый): загружен '7-6jav6v', символы не загружены.), Но я не могу понять, почему это произойдет.
Кто-нибудь еще испытывал это раньше?
Edit:
Добавить пояснения к этому вопросу.
В c # при создании XmlSerializer создается сборка для завершения сериализации. Это всегда будет происходить, если вы не используете инструмент, чтобы сделать это для вас заранее. Если вы используете конструктор (Type type) или (Type type, строка «namespace»), то будет сгенерирована только 1 сборка. Если вы используете любой другой конструктор, то для каждой сериализации будет создаваться новая сборка.
Это не относится к описанной выше проблеме.
В нашей кодовой базе есть блок кода, который вручную выполняет мыльный вызов и возвращает строку (строка xml, например:). Каждый раз, когда этот блок кода выполняется, создается новая сборка. При проверке одной из этих сборок на нее ссылаются "XmlSerializationWriter1.Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.XmlSerializer1.ArrayOfObjectSerializer.ArrayOfObjectSerializer1.ArrayOfObjectSerializer2"
Для лучшего понимания - блок кода выглядит следующим образом, и при выполнении последней строки генерируется сборка ... несколько сборок, по одной на каждый раз, когда выполняется этот блок.
HttpWebRequest oHttpWebRequest =(HttpWebRequest)WebRequest.Create("URL TO WEBSERVICE");
oHttpWebRequest.Timeout =((1000*60)*30);
oHttpWebRequest.Method ="POST" ;
oHttpWebRequest.ContentType ="text/xml" ;
oHttpWebRequest.Headers.Add("SOAPAction: http://www.tempuri.com/"+WebMethodName);
StreamWriter oStreamWriter = new StreamWriter(oHttpWebRequest.GetRequestStream()) ;
string SoapRequest=@"<soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/""><soap:Body>";
SoapRequest=SoapRequest + HttpUtility.HtmlDecode(XmlHttpRequestData);
SoapRequest=SoapRequest + @"</soap:Body></soap:Envelope>";
oStreamWriter.Write(SoapRequest);
oStreamWriter.Close();
oHttpWebRequest.ProtocolVersion.Build;
WebResponse oWebResponse = oHttpWebRequest.GetResponse() ;