如何从VBScript客户端控制WCF会话

时间:2010-07-30 03:44:01

标签: wcf vbscript

我有一个场景,我必须从VBScript调用WCF服务(是的,我知道这很难过!) 现在我知道当你在.Net代码中实例化服务的代理时,第一次调用可能需要10到20秒,因为WCF会引导代理和服务之间的通道。完成后,通过同一代理的所有呼叫都很快。当处理该代理时,似乎WCF在短时间内(一分钟或三分钟)保持该通道打开,因为代理的第二次实例化以及在该时间内对同一服务的调用不会带来相同的引导负担。 .it快速执行(亚秒响应时间)。

然而,使用VBScript,没有代理的概念为您提供通道上的“句柄”...我只是使用ServerXMLHttp对象将soap数据包发送到服务地址。 我当然可以看到第一次调用比任何后续调用相同服务的时间长10到20秒,表明WCF引导。 我还可以看到频道发生WCF超时,因为只要我的VBScript调用服务的时间间隔不超过2分钟,调用就会快速执行。如果我等待的时间比调用之间的时间长,那么每个调用似乎都会导致新的WCF通道的引导。

在调用服务之间,我能做些什么来保持WCF频道的打开时间更长?我正在考虑将服务实例更改为PerSession。我理解会话的持续时间由代理的生命周期(在.Net代码中)定义。但是在VBScript中,没有代理!?在使用PerSession实例化和从没有代理的VBScript调用时,知道什么定义了WCF会话的长度?或者是否有办法在VBScript中处理代理?

任何建议都将不胜感激。 谢谢, 肖恩。

0 个答案:

没有答案