Comment puis-je injecter de la doctrine en service Symfony2

Je simplifiées contrôleur et n'ont pas de conteneur de services. Je suis en train d'injecter de la doctrine dans un service. Voici le message d'erreur:

ContextErrorException: Catchable Fatal Error: Argument 1 passed to Acme\Controller\WebController::__construct() must be an instance of Doctrine\ORM\EntityManager, none given, called in /home/hcs/Core/app/cache/dev/appDevDebugProjectContainer.php on line 3036 and defined in /home/hcs/Core/src/Acme/Controller/WebController.php line 28

Voici mon service def:

doctrine:
  dbal:
    driver:   %database_driver%
    host:     %database_host%
    port:     %database_port%
    dbname:   %database_name%
    user:     %database_user%
    password: %database_password%
    charset:  UTF8

  orm:
    mappings:
      Acme:
        type: annotation
        dir: %kernel.root_dir%/../src/Acme/Model
        prefix: Acme\Model
        alias: Model
        is_bundle: false

services:
  WebController:
    class: Acme\Controller\WebController
    arguments: [@doctrine.orm.entity_manager ]
    parent: elnur.controller.abstract

Et ma classe

use Doctrine\ORM\EntityManager;

/**
 * @Service("WebController", parent="elnur.controller.abstract")
 */
class WebController extends AbstractController
{ 
    protected $em;

    public function __construct(EntityManager $em)
    {
      $this->em = $em;
    }

Ici, elle est sortie de SF2 conteneur (php app/console container:debug | grep-i fr tity)

doctrine.orm.default_entity_manager             container EntityManager5330e85ad5afb_546a8d27f194334ee012bfe64f629947b07e4919\__CG__\Doctrine\ORM\EntityManager

doctrine.orm.entity_manager                     n/a       alias for doctrine.orm.default_entity_manager                  

doctrine.orm.validator.unique                   container Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntityValidator

form.type.entity                                container Symfony\Bridge\Doctrine\Form\Type\EntityType  

translator                                      container Symfony\Component\Translation\IdentityTranslator

J'ai aussi essayé arguments: [ "@doctrine.orm.entity_manager" ] dans la définition du service et toujours rien. J'ai essayé de nettoyer le cache de mon navigateur, mais je ne peux pas pour la vie de moi à obtenir un EM injecté. Ce que je fais mal?

où et comment appelez-vous ce service? ["@doctrine.orm.entity_manager"] devrait fonctionner pour les arguments.
Je suis à la définition de mon service dans la configuration.yml et le ci-dessus comme un argument. Mais je reçois le message d'erreur mentionné ci-dessus au moment de la construction.
Comment allez-vous construire? Dans un contrôleur à l'aide: $WebController = $this->get('WebController'); Ou êtes-vous juste de faire $WebController = new WebController()?
Le service est un contrôleur. Il est chargé à chaque fois qu'il est interrogé à partir d'une demande

OriginalL'auteur Sam Levin | 2014-03-27