Closed Misiu closed 4 years ago
W danej chwili nie planujemy wprowadzenia metod w wersji asynchronicznej. Jeżeli to nie problem to prosili byśmy o opisanie w skrócie do czego potrzebne są Panu takie metody.
@smsapi Używam SMSAPI do integracji z ASP WebAPI 2.2. W "best practices" znalazłem informację aby pisać kod z wykorzystaniem async/await. W ten sposób mógłbym w kontrolerze zrobić wysyłkę w poniższy sposób:
var result = await
smsApi.ActionSend()
.SetText("test message")
.SetTo("694562829")
.SetSender("Info") //Pole nadawcy lub typ wiadomość 'ECO', '2Way'
.ExecuteAsync();
w chwili obecnej muszę sztucznie dodawać await Task.Delay(1);
WebRequest ma większość metod w wersji Async, więc przykładowo linia https://github.com/smsapi/smsapi-csharp-client/blob/master/smsapi/ProxyHTTP.cs#L153 mogłaby wywoływać metodę GetResponseAsync()
Dodawanie await Task.Delay(1);
tylko w tym celu aby metoda była asynchroniczna to zła praktyka.
Autor smsapi-csharp-client powinien rzeczywiście dodać metodę asynchroniczną ExecuteAsync, która następnie wykorzysta metodę asynchroniczną klasy HttpClient i będzie pięknie.
Zanim to jednak nastąpi to proponuję opakować wersję synchroniczną w metodę asynchroniczną:
public void Send()
{
smsApi.ActionSend()
.SetText("test message")
.SetTo("694562829")
.SetSender("Info")
}
public Task SendAsync()
{
return Task.Run(()=>Send());
}
Następnie możesz tego użyć w ten sposób:
public async void TestSendAsync()
{
await SendAsync();
}
Powodzenia!
@smsapi czy coś w tym temacie się zmieniło?
@pdzieniszewski czy mają Państwo jakieś plany związane z wprowadzeniem wersji async metod?
Dzień dobry, niestety w danej chwili nie jesteśmy w stanie wyznaczyć daty kiedy będziemy zajmować się rozwijaniem biblioteki smsapi-csharp-client. Przepraszamy za niedogodności.
@smsapi dziękuję za odpowiedź. W takim razie dodam te metody we własnym forku.
@smsapi widzę, że projekt odżył. Nie widzę metod async. czy w takim razie Issue moze zostać ponownie otwarty?
W danej chwili nie planujemy wdrożenia metod async.
@smsapi czy PR wchodzi w grę?
@Misiu możemy tak spróbować 👍
Czy planowane jest dodanie do biblioteki metod w wersji asynchronicznej?