在我的 .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);
有什么热修复可以解决这个问题吗?
有人可以帮我吗?