原文:http://www.cnblogs.com/AndyHai/archive/2007/07/12/815536.html
由于项目原因,需要在ASP.NET网页上显示电力用户的电费情况,电力公司那边取用户电费的接口是Tuxedo的,这在应用程序下是很容易调用的,可是把它搬到ASP.NET中,情况就不同了,在IIS环境下,调用Tuxedo始终不成功,我想,可能是安全性上的问题,也有可能是Tuxedo本身不能在IIS宿主中执行的缘故,所以,只好另外开辟一条路。
因为可以在应用程序中执行Tuxedo,所以,我想用Remoting在IIS与Tuxedo服务之间架一个代理,让ASP.NET去调用Remoting,再由Remoting去调用Tuxedo,这样一定是可行的。
首先,写一个公共类库,里面有代理执行的接口,以及一个代理执行类厂类:
1
namespace TuxedoObject
2
2
PS:之所以把代理执行写成接口,是因为我不喜欢把具体实现让Remoting客户端看见
接着写一个Remoting服务器,我选择用Windows服务的形式提供,服务器里包含代理执行的接口实现以及服务类:
1
namespace TuxedoRemoting
2
2
好了,下面该写ASP.NET了,我只给出部分调用方法,很容易:
1
TcpChannel channel = new TcpChannel();
2
ChannelServices.RegisterChannel(channel, false);
3
Output);
2
3