ASP.NET MVC5 - async / await

ASP.NET MVC5 - async / await
Undo
  • Rejestracja:ponad 4 lata
  • Ostatnio:około 16 godzin
  • Postów:41
0

Hej, mam pewien problem. Posiadam pewną metodę przykładowo :

Kopiuj
public async Task DoSmth()
{

UserDto user = await webApi.GetUser(userId); //Wywolanie metody ktora bedzie strzelala do API i zwracala pewnego uzytkownika

//W tym miejscu modyfikuje dane usera (pobieram, przeksztalcam)
}

Problem w tym, nie wiem czy jest to reguła czy nie, ale na 'szybszych' komputera działa wszystko okej.
Natomiast na wolniejszych zaczyna się wykonywać linia w której pobieram dane "UserDto user" jeśli jeszcze nie otrzymałem wyniki z API - przez co często otrzymuję, wyjątki związane, tym, że próbuję uzyskać dane z obiektu null. Niestety, ale metody wywołującej metode w api nie mogę przekształcić by działała synchronicznie. Potrzebuję jakiś pomysł, by zrobić zabezpieczenie, by kod z modyfikacją obiektu było dopiero wykonywany jeśli otrzymałem dane z API

SW
  • Rejestracja:około 5 lat
  • Ostatnio:5 miesięcy
  • Postów:250
2

W jakim sense te komputery są szybsze/wolniejsze? Runtime .NET obsługuje Taski nawet na słabszych prockach. Jeśli to .NET Framework, a nie Core, błąd może leżeć w metodzie webApi.GetUser. Możesz ją pokazać?

Miang
pytanie który komputer jest szybszy, klient czy serwer?
Undo
  • Rejestracja:ponad 4 lata
  • Ostatnio:około 16 godzin
  • Postów:41
0

Wywołanie metody wygląda następująco :

Kopiuj
public async Task<UserDto> GetUser(int userId)
       {
             return await GetDataAsync<UserDto>($"{routePrefix}/getUser/{userId}");
       }

Odnośnie tego, że wolniej z kumplem pracujemy nad wspólnym projektem. I cały problem można odtworzyć lokalnie (nie trzeba wrzucać na serwer - przepraszam, zapomniałem o tym na początku napisać :( ). Komputer kolegi ma gorszy procesor i zauważyłem, że u niego pojawia się błąd / problem o którym napisałem w treści posta. Ja mam znacznie lepszy procesor i u mnie wszystko działa prawidłowo. Niestety, ciężko mi powiedzieć czy to wina 'procesora' ale już ostatecznie wszystkie warianty wykluczyliśmy - chociaż, powiem szczerze, nigdy wcześniej problemów takiej rangi nie posiadałem :(

AF
  • Rejestracja:prawie 18 lat
  • Ostatnio:około 2 miesiące
2
Undo napisał(a):

Niestety, ciężko mi powiedzieć czy to wina 'procesora' ale już ostatecznie wszystkie warianty wykluczyliśmy

To niemal na pewno bzdury. Pokaż cały kod, wyjątek, a jak tego będzie mało, to zrzut pamięci.

Grzegorz Świdwa
Grzegorz Świdwa
Zrzut pamięci to zrobienie zdjęcia kości ram? Mi ogólnie się wtedy komputer wyłączył :(
AF
Pewnie kości ram masz z czarnej listy, zrobiłeś z lampą błyskową i wtedy wszystkie elektrony nadtlenka ozonu się zjonizowały. Znany problem, proszę poszukać na forum, zamykam.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.