Решилось переустановкой
BASRemote.NET и многопоточность
-
Доброго времени суток, в связи со сложившемся обстоятельствами пришлось использовать в C# проекте модуль BASRemote.NET. Проблема состоит в том что метод выполнения функции с баса асинхронный
var thread = client.CreateThread(); await thread.RunFunction(.....);а мой проект построен на потоках Thread, возможен ли синхронный вызов данного метода в разных потоках? и что бы для каждого потока был свой профиль баса со своими фингепринтами и куками
//////////////////////////////////////////////////////////////////
Проблему решил сам, вот решение мб пригодится комуTask task = Task.Run(async () => await Init()); task.Wait(); //для метода который ничего не возвращает var result= Task.Run<string>(async () => await LoadPage()).Result; //для метода который возвращает строку -
@Sunder said in BASRemote.NET и многопоточность:
Доброго времени суток, в связи со сложившемся обстоятельствами пришлось использовать в C# проекте модуль BASRemote.NET. Проблема состоит в том что метод выполнения функции с баса асинхронный
var thread = client.CreateThread(); await thread.RunFunction(.....);а мой проект построен на потоках Thread, возможен ли синхронный вызов данного метода в разных потоках? и что бы для каждого потока был свой профиль баса со своими фингепринтами и куками
На сколько я помню, асинхронный вызов нужен только если вы хотите получить результат из вызываемой функции. Если этого ненужно, то можно опустить await
-
@Fox это никак не помогает
private static async Task Init() { client = new BasRemoteClient(new Options {ScriptName = "ScriptName", Login = "login", Password = "password"}); await client.Start(); } .... private static BasRemoteClient client = null; static void Main(string[] args) { Init(); }метод Init() запускается но не происходит ожидание завершения таска и продолжается выполнение Main();
-
@Sunder said in BASRemote.NET и многопоточность:
@Fox это никак не помогает
Какой информативный ответ :)