none
Erreur sur service WCF, mais où ? RRS feed

  • Question

  • Bonjour tout le monde,

    Pour démarrer sous WCF, je suis parti de d'où j'ai téléchargé l'exemple pour C#.

    Dans Visual Web Developer 2010 Express, j'ai créé une solution pour y créer un projet de type "Application du service WCF", où j'ai importé les éléments du service et un autre projet où j'ai importé les éléments de WebHost. En fonction des erreurs obtenues à la compilation j'ai complété les références manquantes, pour que la solution puisse être générée.

    Pour voir ce que donne le service, j'ai sélectionné WebHost comme projet par défaut, et InventoryService.svc comme page par défaut.

    Lorsque j'ai lancé l'exécution, j'ai obtenu une InvalidOperationException :

    Le type 'InventoryServiceLibrary.InventoryService' fourni
     en tant que valeur de l'attribut Service dans la 
    directive ServiceHost, ou dans l'élément de configuration 
    system.serviceModel/serviceHostingEnvironment/serviceActivations, est introuvable.

    J'ai l'impression qu'au cours de la migration (puisque la solution proposée en exemple est fournie pour une version précédente de Visual Studio), j'ai dû louper un paramétrage, mais j'avoue que je suis un peu perplexe pour dire où.

    Quelqu'un saurait-il me mettre le nez dessus ?

    Dans InventoryService.svc, j'ai laissé ceci (je vous fais grâce des caractères balise au début et à la fin) :

    ServiceHost Service="InventoryServiceLibrary.InventoryService"

    Dans le Web.config j'ai laissé ceci :

      <system.serviceModel>
        <services>
          <service name="InventoryServiceLibrary.InventoryService" 
                   behaviorConfiguration="ServiceBehavior">
            <!-- Service Endpoints -->
            <endpoint address="" binding="wsHttpBinding" 
                      contract="InventoryServiceLibrary.IInventoryService">
              <!-- 
                  Upon deployment, the following identity element should be removed or replaced to reflect the 
                  identity under which the deployed service runs.  If removed, WCF will infer an appropriate identity 
                  automatically.
              -->
              <identity>
                <dns value="localhost"/>
              </identity>
            </endpoint>
            <endpoint address="mex" binding="mexHttpBinding" 
                      contract="IMetadataExchange"/>
          </service>
        </services>
        <behaviors>
          <serviceBehaviors>
            <behavior name="ServiceBehavior">
              <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
              <serviceMetadata httpGetEnabled="true"/>
              <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
              <serviceDebug includeExceptionDetailInFaults="false"/>
            </behavior>
          </serviceBehaviors>
        </behaviors>
      </system.serviceModel>


    • Modifié Gloops mercredi 23 janvier 2013 11:30
    mercredi 23 janvier 2013 11:28

Toutes les réponses