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 :

Service windows et Silverlight.


Sujet :

Windows Communication Foundation .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Par défaut Service windows et Silverlight.
    Bonjour,

    Je suis en train de tester la communication entre une application console et un client silverlight.

    A terme, je voudrais intégrer le code de mon appli console dans un service window.

    J'ai suivi l'article Msdn sur la création d'un client Silverlight(http://207.46.16.248/fr-fr/library/cc197940(VS.95).aspx) et tout a bien fonctionné.

    J'ai donc créé une appli console qui lance mon service WCF et un client Silverlight.
    Le client et le service se lancent mais ils ne communiquent pas et je n'ai pas de message d'erreur.
    J'ai mis dans mon dossier de l'appli console les fichiers clientaccesspolicy.xml et crossdomain.xml.

    Si vous pouviez me dire ou j'ai pu faire une erreur?

    Merci.

    Voici le code de mon application console :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ServiceHost proxy = new ServiceHost(typeof(OrderService));
    proxy.Open();
    Console.WriteLine("enter to stop.");
    Console.ReadLine();
    proxy.Close();
    voici le app.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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
    <configuration>
        <system.serviceModel>
          <!-- Register the binding extension from the SDK. -->
          <extensions>
            <bindingExtensions>
              <add name="pollingDuplexHttpBinding"
                   type="System.ServiceModel.Configuration.PollingDuplexHttpBindingCollectionElement,
                       System.ServiceModel.PollingDuplex, 
                       Version=4.0.0.0, 
                       Culture=neutral, 
                       PublicKeyToken=31bf3856ad364e35" />
            </bindingExtensions>
          </extensions>
     
          <!-- Create the polling duplex binding. -->
          <bindings>
            <pollingDuplexHttpBinding>
              <binding name="multipleMessagesPerPollPollingDuplexHttpBinding" duplexMode="MultipleMessagesPerPoll" maxOutputDelay="00:00:07"/>
            </pollingDuplexHttpBinding>
          </bindings>
     
          <services>
            <service name="DuplexService.OrderService">
     
              <!-- Service Endpoints -->
              <endpoint
                 address=""
                 binding="pollingDuplexHttpBinding"
                 bindingConfiguration="multipleMessagesPerPollPollingDuplexHttpBinding"
                 contract="DuplexService.IDuplexService">
              </endpoint>
              <endpoint
                  address="mex"
                  binding="mexHttpBinding"
                  contract="IMetadataExchange"/>
              <host>
                <baseAddresses>
                  <add baseAddress="http://localhost:2830/Service1.svc"/>
                </baseAddresses>
              </host>
            </service>
          </services>
     
        <behaviors>
          <serviceBehaviors>
            <behavior name="">
                <serviceMetadata httpGetEnabled="true"/>
              <serviceDebug includeExceptionDetailInFaults="false"/>
            </behavior>
          </serviceBehaviors>
        </behaviors>
       </system.serviceModel>
     
      <system.diagnostics>
        <trace autoflush="true" />
        <sources>
          <source name="System.ServiceModel"
                  switchValue="Information, ActivityTracing"
                  propagateActivity="true">
            <listeners>
              <add name="sdt"
                  type="System.Diagnostics.XmlWriterTraceListener"
                  initializeData= "e:\SdrConfigExample.log" />
            </listeners>
          </source>
        </sources>
      </system.diagnostics>
     
      <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
      </startup>
    </configuration>
    et voici le code de mon 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
        public MainPage()
        {
          InitializeComponent();
     
          EndpointAddress address = new EndpointAddress("http://localhost:2830/Service1.svc");
          PollingDuplexHttpBinding binding = new PollingDuplexHttpBinding(PollingDuplexMode.MultipleMessagesPerPoll);
          DuplexServiceClient proxy = new DuplexServiceClient(binding, address);
     
          proxy.ReceiveReceived += new EventHandler<ReceiveReceivedEventArgs>(proxy_ReceiveReceived);
          proxy.OrderAsync("Widget", 3);
          reply.Text = "Sent order of 3 Widgets." + Environment.NewLine;
     
        }
     
        void proxy_ReceiveReceived(object sender, ReceiveReceivedEventArgs e)
        {
          if (e.Error == null)
          {
            reply.Text += "Service reports Widget order is " + e.order.Status + "." + Environment.NewLine;
     
            if (e.order.Status == OrderStatus.Completed)
            {
              reply.Text += "Here is the completed order:" + Environment.NewLine;
     
              foreach (string order in e.order.Payload)
              {
                reply.Text += order + Environment.NewLine;
              }
            }
          }
        }

  2. #2
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Par défaut
    J'ai trouvé ma réponse sur un post un peu plus loin dans le forum.
    http://www.developpez.net/forums/d93...berge-console/

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WinService][C#] Comment déployer un service windows ?
    Par sokette dans le forum Windows Forms
    Réponses: 5
    Dernier message: 27/04/2005, 16h38
  2. Planifier le démarrage d'un service Window
    Par tscoops dans le forum Windows XP
    Réponses: 2
    Dernier message: 29/03/2005, 14h56
  3. [WD7.5] Service Windows
    Par cqfd dans le forum WinDev
    Réponses: 1
    Dernier message: 29/03/2005, 08h58
  4. [VB6]Arreter un service windows
    Par bouboussjunior dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 04/10/2004, 17h03
  5. [C#] Icône, barre des tâches et Service Windows
    Par SErhio dans le forum Windows Forms
    Réponses: 17
    Dernier message: 03/09/2004, 12h56

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