это временная проблема большую часть времени, когда я не могу подключиться к любому VMR с помощью Solace .NET API.
После завершения настройки API Context и ContextFactory я вызываю метод Connect, при котором выполнение останавливается, и метод LogDelegate вызывается с сообщением о явной тупиковой ситуации навсегда.
Уведомление - SDK: 01:31:15 | solClientCondition.c: 376 (00008538) solClient_session_connect для контекста 0, истекло время ожидания ожидания завершения контекста cmd | нуль
public void Start()
{
//Initialize properties from command line
var contextProps = new ContextProperties();
var sessionProps = new SessionProperties();
sessionProps.Host = MachineName;
sessionProps.VPNName = VpnName;
sessionProps.UserName = User;
sessionProps.Password = Password;
// Solace Logger
var contextFactoryProperties = new ContextFactoryProperties();
contextFactoryProperties.SolClientLogLevel = SolLogLevel.Warning;
contextFactoryProperties.LogDelegate += LogSolaceProcess;
ContextFactory.Instance.Init(contextFactoryProperties);
//Initialize Context
_context = ContextFactory.Instance.CreateContext(contextProps, null);
//Create and connect Session
_session = _context.CreateSession(sessionProps, null, HandleSentMessages);
ReturnCode returnCode = _session.Connect();
if (returnCode != ReturnCode.SOLCLIENT_OK)
{
throw new InvalidOperationException("Unable to connect with the VMR.");
}
}
private void LogSolaceProcess(SolLogInfo logInfo)
{
//Log
}
Я не думаю, что это проблема, связанная с сетью, потому что я создал виртуальную машину и маршрутизировал свои соединения через нее, и то же самое произошло. Код на виртуальной машине работает без проблем.
Я подтвердил, что брандмауэр компьютера выключен, и я попытался подключиться к 2 различным VMR, расположенным в разных сегментах сети, и я всегда получаю одно и то же.
Проверка установленного списка соединений на компьютере, соединение с запрошенными хостами не показывается, поэтому я думаю, что сокет не был открыт
к тому времени, когда приходит ожидающее сообщение.
Я также пытался подключиться к этим же VMR с помощью инструмента .NET SDKPerf , все то же самое, но с использованием C версии SDKPerf это не связано ни с чем.
Кто-нибудь сталкивался с такой проблемой?
Заранее спасибо