Re: Как разобраться со временем выполнения метода из JanusAT
От: AlexNek  
Дата: 18.08.11 20:20
Оценка:
Здравствуйте, AlexNek, Вы писали:

AN>Дошел я до метода который выжирает у меня время при приеме сообщений, а дальше куда рыть?

AN>Вот данный вызов занимает больше 20 сек.
AN>
AN>        protected override ChangeResponse MakeRequest(ISyncContext context, JanusAT svc,
AN>            ChangeRequest rq)
AN>        {
AN>            bool trace = false;
AN>#if TRACE_SYNC_TIME
AN>            trace = true;
AN>#endif
AN>            using (TimeTracer timeTracer = new TimeTracer("STM:MessagesSyncTask.MakeRequest", trace))
AN>            {
AN>                return svc.GetNewData(rq);
AN>            }
AN>        }

AN>

AN>class JanusAT
AN>...


AN>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://rsdn.ru/Janus/GetNewData",
AN>         RequestNamespace = "http://rsdn.ru/Janus/",
AN>         ResponseNamespace = "http://rsdn.ru/Janus/", 
AN>         Use = System.Web.Services.Description.SoapBindingUse.Literal, 
AN>         ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
AN>        public ChangeResponse GetNewData(ChangeRequest changeRequest)
AN>        {
AN>            object[] results = this.Invoke("GetNewData", new object[] {
AN>                        changeRequest});
AN>            return ((ChangeResponse)(results[0]));
AN>        }

AN>

AN>При передаче, время теперь прыгает от 1 секунды до 24, но пока не добрался до самого медленного метода

При передаче сообщений время жрет этот метод, причем для форума "тест" передача занимает всего 1-2 секунды.
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://rsdn.ru/Janus/PostChange",
         RequestNamespace = "http://rsdn.ru/Janus/", 
         ResponseNamespace = "http://rsdn.ru/Janus/", 
         Use = System.Web.Services.Description.SoapBindingUse.Literal, 
         ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void PostChange(PostRequest postRequest)
        {
            this.Invoke("PostChange", new object[] {
                        postRequest});
        }
Cообщение написано в ... << RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 7918>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.