正在做的这个项目用到了Web Service,Windows Service和COM,当然还有普通的WinForm程序。前期都是在公司内网开发和测试,可就在前几天放到真实环境中测试的时候有的调用Web Service函数会失败,也就是通过外网访问Web Service失败。
症状表现如下:
1. COM通过代理访问外网Web Service失败。
2. Windows Service程序通过代理访问Web Service失败。
后来通过多方查证,找到了原因:需要设置Web Service对象的代理。其实这个实现起来就只需几行代码而已,可是查找原因的时间却花了不少。这个症状说起来很奇怪,基于Win Form的程序无论怎么访问,即使通过代理也是可以调用该Web Service的,也正是由于这一点,搞得我们在核查程序代码方面花费了很多精力。
COM和Windows Service程序都是通过系统来启动运行的,我想应该和这个有关系,那么Remoting程序估计也会出现这个问题。可是不知道根本原因,知其然而不知起所以然,心中总有一点不爽。