本文整理汇总了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);
}