Uczę się o asynchronizacji / czekaniu i wpadłem na sytuację, w której muszę synchronicznie wywołać metodę asynchroniczną. Jak mogę to zrobić? Metoda asynchroniczna: public async Task<Customers> GetCustomers() { return await Service.GetCustomersAsync(); } Normalne użycie: public async void GetCustomers() { customerList = await GetCustomers(); } Próbowałem użyć następujących opcji: Task<Customer> task …
Korzystam z klienta API, który jest całkowicie asynchroniczny, to znaczy każda operacja albo zwraca, Taskalbo Task<T>np .: static async Task DoSomething(int siteId, int postId, IBlogClient client) { await client.DeletePost(siteId, postId); // call API client Console.WriteLine("Deleted post {0}.", siteId); } Używając operatorów asynchronicznych / oczekujących C # 5, jaki jest właściwy …
Próbuję zrozumieć, że async czeka w najprostszej formie. Chcę stworzyć bardzo prostą metodę, która doda dwie liczby na potrzeby tego przykładu, oczywiście, to wcale nie jest czas przetwarzania, to tylko kwestia sformułowania tutaj przykładu. Przykład 1 private async Task DoWork1Async() { int result = 1 + 2; } Przykład 2 …
Każdy post na blogu, który przeczytałem, mówi ci, jak korzystać z metody asynchronicznej w języku C #, ale z jakiegoś dziwnego powodu nigdy nie wyjaśniaj, jak zbudować własne metody asynchroniczne. Mam teraz ten kod, który zużywa moją metodę: private async void button1_Click(object sender, EventArgs e) { var now = await …
Wczoraj mówiłem o nowej funkcji „asynchronicznej” w języku C #, w szczególności o tym, jak wyglądał wygenerowany kod i the GetAwaiter()/ BeginAwait()/ EndAwait()wywołania. Przyjrzeliśmy się szczegółowo automatowi stanu wygenerowanemu przez kompilator C # i nie mogliśmy zrozumieć dwóch aspektów: Dlaczego wygenerowana klasa zawiera Dispose()metodę i $__disposingzmienną, które nigdy nie są …
Jak sugeruje tytuł, czy istnieje odpowiednik Process.Start(pozwalający na uruchomienie innej aplikacji lub pliku wsadowego), na który mogę czekać? Gram z małą aplikacją konsolową i wydawało mi się, że to idealne miejsce do używania async i czekania, ale nie mogę znaleźć żadnej dokumentacji dla tego scenariusza. Myślę o czymś podobnym: void …
Obecnie zaczynam tworzyć aplikację, która przyniosłaby duże korzyści dzięki funkcji async-await w języku C # 5. Ale nie jestem pewien, której wersji VS i środowiska uruchomieniowego asynchronicznego użyć. Patrząc na wykresy popularności systemów operacyjnych, będę musiał obsługiwać system Windows XP przez kolejne trzy lata. Wygląda na to, że .net 4.5 …
tło Mamy projekt, który rozwijamy w VS 2015 z włączonym C # 6, który czasami musi być otwierany przez programistów używających VS 2013 bez C # 6. Nie mamy zamiaru używać C # 6 w tym konkretnym rozwiązaniu (tak bardzo, jak bym chciał). Problem Visual Studio i ReSharper sugerują pomocne …
Trochę informacji ogólnych. Uczę się stosu Web API i próbuję hermetyzować wszystkie dane w postaci obiektu „Result” z parametrami takimi jak Success i ErrorCodes. Jednak różne metody dałyby różne wyniki i kody błędów, ale obiekt wyniku byłby generalnie tworzony w ten sam sposób. Aby zaoszczędzić trochę czasu, a także dowiedzieć …
Mamy tę metodę: async Task<int> AccessTheWebAsync() { HttpClient client = new HttpClient(); Task<string> getStringTask = client.GetStringAsync("http://msdn.microsoft.com"); // You can do work here that doesn't rely on the string from GetStringAsync. DoIndependentWork(); string urlContents = await getStringTask; //The thing is that this returns an int to a method that has a …
Mam taki problem na serwerze [A] System.Web.WebPages.Razor.Configuration.HostSection nie może zostać przesłany do [B] System.Web.WebPages.Razor.Configuration.HostSection. Typ A pochodzi z „System.Web.WebPages.Razor, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35” w kontekście „Default” w lokalizacji „C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_2.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll '. …
Czy zwykłe bloki iteratora (np. „Yield return”) są niezgodne z „async” i „await”? To daje dobre wyobrażenie o tym, co próbuję zrobić: async Task<IEnumerable<Foo>> Method(String [] Strs) { // I want to compose the single result to the final result, so I use the SelectMany var finalResult = UrlStrings.SelectMany(link => …
Mam wielowarstwową aplikację .Net 4,5 wywołującą metodę przy użyciu nowych asynci C #await słów kluczowych, które po prostu się zawieszają i nie rozumiem, dlaczego. Na dole mam metodę asynchroniczną, która rozszerza nasze narzędzie bazy danych OurDBConn(w zasadzie opakowanie dla bazowego DBConnectioni DBCommandobiektów): public static async Task<T> ExecuteAsync<T>(this OurDBConn dataSource, Func<OurDBConn, …
Natknąłem się na kilka najlepszych praktyk dotyczących programowania asynchronicznego przy użyciu słów kluczowych async/ awaitsłów kluczowych języka C # (jestem nowy w C # 5.0). Jedna z udzielonych rad była następująca: Stabilność: poznaj konteksty synchronizacji ... Niektóre konteksty synchronizacji są niewłączane i jednowątkowe. Oznacza to, że w danym czasie można …
Mam metodę w aplikacji ASP.NET, której wykonanie zajmuje dużo czasu. Wywołanie tej metody może wystąpić do 3 razy podczas jednego żądania użytkownika, w zależności od stanu pamięci podręcznej i parametrów podanych przez użytkownika. Każde połączenie trwa około 1-2 sekund. Sama metoda jest synchronicznym wywołaniem usługi i nie ma możliwości nadpisania …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.