Мы рассматриваем некоторые проблемы с производительностью веб-службы, которую мы вызываем.Мне удалось разместить код записи времени во всех фактических методах веб-сервиса, но теперь мне кажется, что проблема может заключаться в том, что фактическое время, необходимое для сериализации набора результатов?эти данные берутся, но изо всех сил пытаются получить какие-либо результаты ..
Вот пример нашего метода веб-службы:
[AuthExtension]
[WebMethod]
[SoapHeader("AuthHeader", Direction = SoapHeaderDirection.In)]
public ResultSet CheckAvailability(FareSelections fareSelections)
{
ResultSet results = null;
results = Logic.CheckAvailability(fareSelections, AuthHeader.Token, timeLogger);
return results;
}
Я пытался поместить методы в возвращаемый класскоторые украшены атрибутами [OnSerializing ()] и [OnSerialized ()], но это не работает.Я также попытался зафиксировать время в методе, используя блок try..finally, но не думаю, что это также записывает фактическое время сериализации?
Было высказано предположение, что мне, возможно, придетсяреализовать мой собственный сериализатор (который будет просто записывать время и затем вызывать сериализатор по умолчанию в любом случае), но мне просто интересно, был ли это единственный вариант, который у меня есть?
Любые мысли очень ценятся.