本文整理匯總了C#中NATS.Client.ConnectionFactory.IsReconnecting方法的典型用法代碼示例。如果您正苦於以下問題:C# ConnectionFactory.IsReconnecting方法的具體用法?C# ConnectionFactory.IsReconnecting怎麽用?C# ConnectionFactory.IsReconnecting使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類NATS.Client.ConnectionFactory
的用法示例。
在下文中一共展示了ConnectionFactory.IsReconnecting方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: TestIsReconnectingAndStatus
public void TestIsReconnectingAndStatus()
{
bool disconnected = false;
object disconnectedLock = new object();
bool reconnected = false;
object reconnectedLock = new object();
IConnection c = null;
Options opts = utils.DefaultTestOptions;
opts.Url = "nats://localhost:22222";
opts.AllowReconnect = true;
opts.MaxReconnect = 10000;
opts.ReconnectWait = 100;
opts.DisconnectedEventHandler += (sender, args) =>
{
lock (disconnectedLock)
{
disconnected = true;
Monitor.Pulse(disconnectedLock);
}
};
opts.ReconnectedEventHandler += (sender, args) =>
{
lock (reconnectedLock)
{
reconnected = true;
Monitor.Pulse(reconnectedLock);
}
};
using (NATSServer s = utils.CreateServerOnPort(22222))
{
c = new ConnectionFactory().CreateConnection(opts);
Assert.True(c.State == ConnState.CONNECTED);
Assert.True(c.IsReconnecting() == false);
}
// server stops here...
lock (disconnectedLock)
{
if (!disconnected)
Assert.True(Monitor.Wait(disconnectedLock, 10000));
}
Assert.True(c.State == ConnState.RECONNECTING);
Assert.True(c.IsReconnecting() == true);
// restart the server
using (NATSServer s = utils.CreateServerOnPort(22222))
{
lock (reconnectedLock)
{
// may have reconnected, if not, wait
if (!reconnected)
Assert.True(Monitor.Wait(reconnectedLock, 10000));
}
Assert.True(c.IsReconnecting() == false);
Assert.True(c.State == ConnState.CONNECTED);
c.Close();
}
Assert.True(c.IsReconnecting() == false);
Assert.True(c.State == ConnState.CLOSED);
}