我有關於異步編程的方式和等待的問題。我明白,當方法是異步的時候,你可以使用await來等待特定代碼的執行,但我想多瞭解一些。異步方法並等待
所以我有一個具體的問題:
想象我有一個方法:
public async void Starter()
{
string username = await GetUserNameFromDBAsync();
bool updated = await UpdateUserTown();
}
public async static Task<string> GetUserNameFromDBAsync()
{
using(DBContext context = new DBContext())
{
return await context.User.FindByIdAsync(currentid).Name;
}
}
public async static Task<bool> UpdateUserTown()
{
using(DBContext context = new DBContext())
{
User user = await context.User.FindUserByIDAsync(currentid);
user.Town="New Town";
try
{
context.SaveChangesAsync();
}
catch(Exception ex)
{return false}
return true;
}
}
好這樣的代碼,雖然我到處使用異步,但我有足夠的時間做等待.. 。所以基本上的表現,它會完全一樣,如果我會刪除所有這些異步,並等待,並沒有...
或者,也許我想念的東西?
哦,我明白了,所以即使在web應用程序中,因爲我認爲如果我必須等待數據庫等的響應,確定如果您仍然需要等待,使用異步的要點)))現在,我看,這意味着它可以同時服務器來自其他webbrowsers的其他請求...因爲在這種情況下,我更多地談論web應用程序) – Alnedru
順便說一句我想問,你有任何類型的資源,我會能夠閱讀關於網絡應用和異步? – Alnedru