IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Communication Foundation .NET Discussion :

Définition du contrat de service.


Sujet :

Windows Communication Foundation .NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Février 2008
    Messages : 34
    Points : 29
    Points
    29
    Par défaut Définition du contrat de service.
    Bonjour a tous.

    Je me penche sur la configuration de mon Service WCF et j'ai une question qui me dérange.

    Sur un des tutos j'ai vu ca.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    	<system.serviceModel>
    		<services>
    			<service name="DvpDemoWCF.IMonPremierServiceWCF">
    				<endpoint address="net.tcp://localhost:5000/DvpDemoWCF" binding="netTcpBinding" contract="DvpDemoWCF.IMonPremierServiceWCF"/>
    			</service>
    		</services>
    	</system.serviceModel>
    </configuration>
    Ma question concerne en fait le "contract" est ce qu'il est possible de définir plusieurs contract un peu de cette manière la.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    	<system.serviceModel>
    		<services>
    			<service name="DvpDemoWCF.IMonPremierServiceWCF">
    				<endpoint address="net.tcp://localhost:5000/DvpDemoWCF" binding="netTcpBinding" contract="DvpDemoWCF.IMonPremierServiceWCF"/>
    			</service>
     
    <service name="DvpDemoWCF.IMonPremierServiceWCF2">
    				<endpoint address="net.tcp://localhost:5000/DvpDemoWCF" binding="netTcpBinding" contract="DvpDemoWCF.IMonPremierServiceWCF2"/>
    			</service>
     
    		</services>
    	</system.serviceModel>
    </configuration>
    en fait pouvoir définir plusieurs contrat de service.

    Merci d'avance pour vos lumières

  2. #2
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Oui mais ils ne doivent pas avoir la même adresse (dans ton exemple ils ont la même).
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Février 2008
    Messages : 34
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par The_badger_man Voir le message
    Oui mais ils ne doivent pas avoir la même adresse (dans ton exemple ils ont la même).
    Hum...

    Ils ne doivent pas avoir la meme adresse comment ca ??? les classes sont dans le meme projet.

    Sinon j'ai quelques soucis pour deployer le WCF. mais cela doit venir de mon .svc ou de mon web.config.


    Voici mon web.config:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <system.serviceModel>
        <services>
          <service name="WcfServiceFath.Charger" behaviorConfiguration="WcfServiceFath.FathServiceBehavior">    
            <endpoint address="" binding="basicHttpBinding" contract="WcfServiceFath.IChargeable"/>
          </service>
     
          <service name="WcfServiceFath.Sauvegarder" behaviorConfiguration="WcfServiceFath.FathServiceBehavior">
            <endpoint address="" binding="basicHttpBinding" contract="WcfServiceFath.ISauvegardable"/>
          </service>
     
          <service name="WcfServiceFath.Fath" behaviorConfiguration="WcfServiceFath.FathServiceBehavior">
            <endpoint address="" binding="basicHttpBinding" contract="WcfServiceFath.IFath"/>
          </service>  
     
        </services>
     
        <behaviors>
          <serviceBehaviors>
            <behavior name="WcfServiceFath.FathServiceBehavior">
              <serviceMetadata httpGetEnabled="true"/>
              <!-- Pour recevoir les détails d'exception des erreurs à des fins de débogage, définissez la valeur ci-dessous sur true.  Définissez-la sur false avant le déploiement pour éviter la divulgation des informations d'exception -->
              <serviceDebug includeExceptionDetailInFaults="true"/>
            </behavior>
          </serviceBehaviors>
        </behaviors>
      </system.serviceModel>
    </configuration>
    et mon .svc.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <%@ ServiceHost Service="WcfFath.Fath"%>
    <%@ Assembly Name="WcfFath"%>
    la classe Fath est en quelque sorte mon point d'entrée, elle contient la connexion BDD etc...

    Je vous donne l'architecture de mon projet si cela peut vous aider.

    WcfFath
    |
    [...]
    |
    |-->Charger.cs
    |-->IChargeable.cs
    |-->Fath.cs
    |-->IFath.cs
    |-->Sauvegarder.cs
    |-->ISauvegardable.cs
    |-->Web.config
    |-->WcfFath.svc

    [...] correspond a des repertoires contenant des classes de type [DataContract]

    En fait quand je publie mon SVC. et que je veux y acceder via mon navigateur, il me met que IE ne peut pas acceder a la page.

    snif

    Est ce que vous avez des piste d'ou cela pourrait venir?

    Merci d'avance

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par cedric.daniel Voir le message
    Hum...

    Ils ne doivent pas avoir la meme adresse comment ca ??? les classes sont dans le meme projet.
    Ca n'a strictement aucun rapport. Chaque contrat doit avoir son propre EndPoint et sa propre adresse.
    Exemple (coté client) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <system.serviceModel>
    <client>
    <endpointname="IAdmin"
    address="net.tcp://localHost:2000/MyServices/AdminService"
    binding="netTcpBinding"
    bindingConfiguration="MyService_Binding_Client"
    contract="MyNS.CommunicationInterfaces.IAdmin"
    />
    <endpointname="IAccessControl"
    address="net.tcp://localHost:2000/MyServices/AccessControlService"
    binding="netTcpBinding"
    bindingConfiguration="MyService_Binding_Client"
    contract="MyNS.CommunicationInterfaces.IAccessControl"
    />
     
    </client>
    </system.serviceModel>

    Coté serveur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <system.serviceModel>
    <services>
     
     
    <service name="MyNs.Applications.AppServer.Services.AdminService"
     
    behaviorConfiguration="MyServices_behavior">
    <host>
    <baseAddresses>
    <add baseAddress="net.tcp://localhost:2000/MyServices"/>
    </baseAddresses>
    </host>
    <endpoint
    address="AdminService"
    binding="netTcpBinding"
    bindingConfiguration="MyServices_Binding"
    contract="MyNS.CommunicationInterfaces.IAdmin"
    />
    </service>
    <service name="MyNS.Applications.AppServer.Services.AccessControlService"
    behaviorConfiguration="RefCnpServices_behavior">
    <host>
    <baseAddresses>
    <add baseAddress="net.tcp://localhost:2000/MyServices"/>
    </baseAddresses>
    </host>
    <endpoint
    address="AccessControlService"
    binding="netTcpBinding"
    bindingConfiguration="MyServices_Binding"
    contract="MyNS.CommunicationInterfaces.IAccessControl"
    />
    </service>
    (c'est un copié-collé d'une config réelle, avec seulement une "anonymisation" des NS et des noms d'applis).

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Février 2008
    Messages : 34
    Points : 29
    Points
    29
    Par défaut
    OK merci je vais essayer de m'en inspirer sur mon application bonne journée

Discussions similaires

  1. Modifier la définition d'un web service
    Par GlamIS dans le forum Services Web
    Réponses: 1
    Dernier message: 21/09/2011, 14h21
  2. HP signe un contrat de services applicatifs avec 3M
    Par Mejdi20 dans le forum Communiqués
    Réponses: 0
    Dernier message: 23/07/2010, 10h41
  3. Réponses: 5
    Dernier message: 07/07/2009, 16h55
  4. Contrat de service pour SAS
    Par RemiBousquet dans le forum Débutez
    Réponses: 0
    Dernier message: 02/07/2009, 16h23
  5. Réponses: 3
    Dernier message: 29/03/2007, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo