6

在我的 .net 2.0 应用程序中,远程对象突然被破坏并引发了以下异常。“无法连接到 IPC 端口:系统找不到指定的文件。”

我有 IPC 远程服务器,它创建了一个单例对象。

我已经覆盖了 InitializeLifetimeService() 方法并返回 null 以获得无限的生命周期。

服务器和客户端应用程序工作正常,但有时我们会遇到上述异常。

服务器代码:

//创建并注册进程心跳。BinaryServerFormatterSinkProvider serverprovider = new BinaryServerFormatterSinkProvider(); serverprovider.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;//承载 Heartbeat 对象并注册它。processHeartbeatChn = new IpcServerChannel("HeartbeatChannel", "localhost:" + applicationHeartbeatPort, serverprovider);

            //registers the channel
            ChannelServices.RegisterChannel(processHeartbeatChn, false);

            //register the service
            RemotingConfiguration.RegisterWellKnownServiceType(typeof(Heartbeat),
                appName, WellKnownObjectMode.Singleton);

客户代码:

            string uri = string.Format(CultureInfo.InvariantCulture,"ipc://localhost:{0}/{1}", applicationHeartbeatPort, appName);

            //get the Heartbeat object
            remoteHeartbeat = (Heartbeat)Activator.GetObject(typeof(Heartbeat), uri);

有什么热修复可以解决这个问题吗?

有人可以帮我吗?

4

0 回答 0