Утешение с помощью.NET API ожидает блокировки контекста на этапе подключения
Это временная проблема. Большую часть времени я не могу подключиться к любому 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, все то же самое, но с использованием версии SDK C для C он подключается, несмотря ни на что.
Кто-нибудь экспериментировал с такой проблемой?
Заранее спасибо