Il y a un nouveau paramètre d'application dans asp.net 4.5.
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
un code comme celui-ci peut fonctionner en asp.net 4.0
protected void Button1_Click(object sender, EventArgs e)
{
CallAysnc();
}
public void CallAysnc()
{
AsyncOperation asyncOp = AsyncOperationManager.CreateOperation(Guid.NewGuid().ToString());
WebClient client = new WebClient();
client.DownloadStringCompleted += (object sender, DownloadStringCompletedEventArgs e) =>
{
asyncOp.PostOperationCompleted(CallCompleted, e.Result);
};
client.DownloadStringAsync(new Uri("http://www.google.com"));
}
private void CallCompleted(object args)
{
Response.Write(args.ToString());
}
Mais cela ne fonctionne pas dans asp.net 4.5, et quand je supprime le nouvel appsetting, cela fonctionne à nouveau !
Quelle est la signification de "UseTaskFriendlySynchronizationContext" ?