async Task<HttpResponseMessage> Get VS HttpResponseMessage Obtenir

J'aurais besoin de votre aide pour la suite. Pendant près d'un mois, j'ai lu au sujet des Tâches et asynchrone .

Je voulais essayer de mettre en œuvre mes nouveaux acquis knowledege, dans un simple wep projet d'api. J'ai l'une des méthodes suivantes et deux d'entre eux fonctionne comme prévu:

 public HttpResponseMessage Get()
 {
        var data = _userServices.GetUsers();
        return Request.CreateResponse(HttpStatusCode.OK, data);
 }

public async Task<HttpResponseMessage> Get()
{
        var data = _userServices.GetUsers();


        return await Task<HttpResponseMessage>.Factory.StartNew(() =>
        {
           return Request.CreateResponse(HttpStatusCode.OK, data);
        });
 }

Donc la question. J'ai essayé d'utiliser le violoneux, et de voir quelle est la différence entre ces deux. L'asynchrone est un peu plus rapide, mais à part ça, quel est le réel avantage dans la mise en œuvre de quelque chose comme ça dans une api web?

Eh bien, tout d'abord, merci à vous tous pour avoir répondu à l'arrière. Vous m'avez donné quelques "travail à domicile" à faire.Je comprends que l'Usine.StartNew est terrible car il démarre un nouveau thread à chaque demande! Je comprends aussi que le "fonctionnement asynchrone" doit être transmis jusqu'au dépôt, les sens tout le chemin jusqu'à GetUsers (Service) --> GetUsersAsync (Référentiel). Donc, nous aurons une chaîne de méthodes asynchrones , tout le chemin jusqu'à référentiel. Le respository pour la mise en œuvre d'un modèle qui prend en charge les opérations asynchrones ie Asynchrone Ado.Net ou EntityFramework.
Si j'étais à construire cette Api Web, je voudrais commencer avec 3 couches 1) Présentation 2) et 3) du Référentiel. Le référentiel permettrait de mettre en œuvre Async Ado.Net ou Entityframework . En outre, tout cela va se passer sur le thread principal, mais avec des opérations ASYNCHRONES. J'ai essayé de le "dévorer" la théorie dans le livre suivant Multithreading En C# 5.0 livre de cuisine.Il semble que toute cette connaissance est foiré dans ma tête,alors, toutes mes excuses,si vous me trouvez répéter les choses. Je vais poster le code qui explique ce que "je pense", je comprends. Je vous serais reconnaissant si vous pouvez tous contribuer ainsi activement à nouveau !!

OriginalL'auteur Veronica_Zotali | 2014-09-18