Чрезвычайно медленное выполнение кода веб-службы .asmx - PullRequest
0 голосов
/ 26 октября 2011

Я знаю, что это похоже на пару других вопросов, но ни один из ответов не помог мне. У меня есть веб-служба .asmx, работающая в Windows 2008, IIS 7 и соединяющаяся с MySql через MySql Connector Net. Веб-служба принимает строку, преобразует ее в XML с помощью Xmldocument ..., затем перебирает дочерние узлы и, наконец, обновляет базу данных. В консольном приложении на той же машине оно будет запущено через 2-3 секунды. В веб-сервисе .asmx это занимает 2-3 минуты. Я позаботился о том, чтобы данные поступали немедленно в коде ... на самом деле для их запуска требуется вечность. Я надеюсь, что кто-то может указать мне на некоторые настройки в пуле приложений или в IIS, чтобы дать ему больше ресурсов. Это 1.7 ГБ оперативной памяти, я не думаю, что ресурсы должны быть проблемой. Это вызывается программой Python, но я звонил из нескольких разных мест, и все же он такой медленный. Пожалуйста, оставьте лекцию о WCF, так как некоторые из нас все равно не имеют полного контроля над тем, что мы развиваем. Любая помощь, указавшая меня в правильном направлении, была бы великолепна!

1 Ответ

0 голосов
/ 26 октября 2011

Либо включите Трассировка , либо используйте профилировщик , чтобы найти то, что занимает столько времени.

На некоторых догадках, это та же самая база кода между консольюи ASMX (например, этот код находится в отдельном классе и вызывается из обоих, или копируется и вставляется?)?И насколько большой XML-объект отправляется на сервер?Построение DOM требует времени, если вы просто читаете его один раз и генерируете вставки, посмотрите на использование XmlReader .

Надеемся, что один из них поможет вам двигаться в правильном направлении.

...