Так что я пытаюсь ускорить время запуска наших приложений - и я определил серьезное узкое место для работы.Каждый из наших клиентских классов веб-сервиса требует вечности и дня для создания экземпляра.Некоторые исследования показали, что это полностью из-за SoapHttpClientProtocol, запускающего GenerateXMLMappings.Я начал искать информацию по этому вопросу и нашел этот пост SO Slow SoapHttpClientProtocol конструктор
Я был готов озвучить трубы, поскольку мои проблемы отражали то, о чем говорилось там, в письме.Я прошел через все шаги, перечисленные в первом посте, чтобы использовать sgen для предварительной генерации dll сериализатора, а затем удалил различные теги из кода и встроил их в нормальную dll, на которую я ссылался в приложении как на нормальную ссылку (в отличие отна веб-ссылку).Однако после всего этого я не вижу разницы при профилировании приложения.Тонны времени все еще затрачиваются на создание GenerateXMLMappings как части конструктора SoapHttpClientProtocol.
Я проверил, что он на самом деле использует мой пользовательский dll клиента веб-сервиса.Я также проверил, что он по крайней мере ищет dll XmlSerializers (если я не включаю файл, я вижу, что файл notfound плюется об этом).
Кто-нибудь имеет подробную информацию о том, как конструктор SoapHttpClientProtocol решает, что ему нужно делать?Это действительно разочаровывающая проблема, потому что весь процесс кажется «черным ящиком» без какого-либо хорошего способа увидеть, что на самом деле происходит внутри.
Заранее благодарен за любую помощь - я полностью против стены на этом.