C# .net远程处理,如果连接丢失,如何重新连接?

C# .net远程处理,如果连接丢失,如何重新连接?,c#,.net-remoting,C#,.net Remoting,我有这个工作,但我不知道如何预测连接何时中断,需要重新连接到服务器 我想做的是,如果.net远程处理服务器退出,让客户端立即连接到该服务器,就像继续尝试连接,如果不需要,则忽略它 谢谢你的帮助 这是我的密码: namespace TaskClient { using System; using System.Reflection; using System.Runtime.Remoting.Channels; using System.Runtime.Remoti

我有这个工作,但我不知道如何预测连接何时中断,需要重新连接到服务器

我想做的是,如果.net远程处理服务器退出,让客户端立即连接到该服务器,就像继续尝试连接,如果不需要,则忽略它

谢谢你的帮助

这是我的密码:

namespace TaskClient
{
    using System;
    using System.Reflection;
    using System.Runtime.Remoting.Channels;
    using System.Runtime.Remoting.Channels.Tcp;
    using System.Threading;
    using TaskShared;

    class Program
    {
        static void Main(string[] args)
        {
            TcpChannel chan = new TcpChannel();
            ChannelServices.RegisterChannel(chan, false);
            Connections remObject = (Connections)Activator.GetObject(typeof(Connections), "tcp://localhost:8085/TaskServer");

            if (remObject == null)
            {
                Console.WriteLine("Could not connect to TaskServer. (tcp://localhost:8085/TaskServer)");
            }
            else
            {
                Console.WriteLine("Connected to Task Server.");

                var rt = new TestTask() 
                {
                    ApplicationName = Assembly.GetExecutingAssembly().FullName,
                    ComputerName = Environment.MachineName,
                    VersionInfo = "1.0.0",
                    JobRunning = "None"
                };

                remObject.Add(rt);
            }


            while (true)
            {
                //TODO:
                //Check if connected.. how?
                //Re-create the connection... how?

                //doing this simple won't work:
                if (remObject == null)
                    remObject = (Connections)Activator.GetObject(typeof(Connections), "tcp://localhost:8085/TaskServer");



                remObject.Invalidate(remObject[rt]);

                Thread.Sleep(1000);
            }
        }
    }
}

您是否可以每隔(X)秒/毫秒将心跳信号发送到/从服务器发送到连接的客户端。如果连接的客户端在一段时间后未收到其心跳信号,请重新启动连接进程,或者让客户端将其发送到服务器。