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 это никак не помогает

    Какой информативный ответ :)



  • @Fox я отредачил)


Log in to reply