ho il seguente codice e sembra che il tempo trascorso Millisecondi sono inesatte:misura C#/Async Data Access Utilizzando cronometro Classe
public async Task<ActionResult> Index()
{
try
{
var connString = RoleEnvironment.IsEmulated
? ConfigurationManager.ConnectionStrings["Poc"].ConnectionString
: ConfigurationManager.ConnectionStrings["PocVm"].ConnectionString;
var repository = new AccountRepository(connString);
var stopWatch = new Stopwatch();
stopWatch.Start();
var accounts = await repository.GetAll();
stopWatch.Stop();
ViewBag.Accounts = accounts;
ViewBag.VmStatus = stopWatch.ElapsedMilliseconds;
}
catch (Exception e)
{
blah blah blah...
}
return View();
}
Questo sembra corretto o mi sto perdendo qualcosa di dolorosamente ovvio?
sembra ok per me. Perché concludi che è impreciso? Per vostra informazione, i tempi molto brevi non possono essere misurati con precisione usando questa tecnica; controlla il campo 'Cronometro.Frequenza'. –
Anche a me sembra bene. Ho appena fatto un piccolo test (https://dotnetfiddle.net/wLzfor) per vedere se l'asincronia ha suonato il cronometro per qualche motivo, ma non è così. – Jcl
(funziona anche usando 'ConfigureAwait (false)') – Jcl