У меня есть сценарий, в котором мне нужно вызвать службу WCF из VBScript (да, я знаю, что это печально!) Теперь я знаю, что когда вы создаете экземпляр прокси для службы в коде .Net, первый вызов может занять 10на 20 секунд дольше, так как WCF загружает канал между прокси и службой.Как только это будет сделано, все вызовы через тот же прокси будут быстрыми.Когда этот прокси удален, кажется, что WCF на короткое время удерживает этот канал открытым (минута или 3), потому что повторное создание прокси и вызов одного и того же сервиса в течение этого времени не несет той же нагрузки при начальной загрузке..it выполняется быстро (время отклика менее секунды).
При использовании VBScript, однако, нет понятия прокси, который дает вам «дескриптор» канала ... Я просто использую объекты ServerXMLHttpотправить мыльные пакеты на адрес сервиса.Я, конечно, вижу, что первый вызов длится на 10–20 секунд дольше, чем любой последующий вызов той же службы, что указывает на загрузку WCF.Я также вижу, что происходит тайм-аут WCF канала, потому что, пока мой VBScript выполняет вызовы службы с интервалом не более 2 минут, вызовы выполняются быстро.Если я жду дольше, чем между вызовами, кажется, что каждый вызов вызывает загрузку нового канала WCF.
Могу ли я что-нибудь сделать, чтобы этот канал WCF был открыт дольше между вызовами службы?Я думаю о том, как изменить экземпляр службы на PerSession.И я понимаю, что продолжительность сеанса определяется продолжительностью жизни прокси (в коде .Net).Но в VBScript нет прокси !?Любая идея, что определяет длину сеанса WCF при использовании экземпляров PerSession и вызова из VBScript, где нет прокси?Или, возможно, есть способ получить контроль над прокси в VBScript?
Любой совет будет оценен.Спасибо, Шон.