Используя AsterNet для подключения к Asterisk, я наблюдаю следующее:
Unhandled Exception:
System.SystemException: Unable to run: socket is null.
at AsterNET.Manager.ManagerReader.Run() in
e:\Projects\Github\AsterNET\Asterisk.2013\Asterisk.NET\Manager\ManagerReader.cs:line 197
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback,
Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state,
Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
Вы можете увидеть строку, выдающую это исключение, в коде AsterNet в ManagerReader.cs, строка 197. Похоже, это происходит, когда connect() (в ManagerConnection.cs) запускает новый поток, но mrSocket почему-то имеет значение null в ManagerReader.cs. . Но это исключение выбрасывается из этого нового потока, поэтому я не могу его поймать и обработать ошибку. Это просто крашит мое приложение.
Итак, у меня есть два вопроса. Во-первых, как предотвратить это? Я делаю что-то неправильно при подключении или повторном подключении? Во-вторых, можно ли это как-то отловить и снова попробовать подключиться?