.NET Remoting:如何立即在服务器上激活(远程)对象?

时间:2011-01-20 22:07:00

标签: .net remoting

我在Window Service中托管了一个远程对象,可能需要一些时间来初始化。问题是第一个客户端请求通常失败,因为它花费的时间太长,但以下请求成功。我想知道是否有办法在服务启动时立即创建远程对象。这是服务的OnStart()中的代码:

    ChannelServices.RegisterChannel(new HttpChannel(8080), false);
    RemotingConfiguration.RegisterWellKnownServiceType(typeof(MyService), "MyService", WellKnownObjectMode.Singleton);

1 个答案:

答案 0 :(得分:0)

你可以让你的服务OnStart产生一个执行空事务的进程 - 除了强制创建远程对象之外没有其他任何影响。

您可以做的另一件事是让启动处理执行所有昂贵的初始化并将结果保存在某个对象中。然后,初始化远程对象只是初始化对该预构造对象的引用。我猜你可以说远程对象充当你在启动时构建的对象所暴露的方法的代理。

我记得(自从我使用远程处理已经有一段时间了,所以我可能错了),服务本身不可能充当客户端并调用初始化远程对象。